记一次博客优化的过程

薄洪涛6年前个人随笔1681
近期博客访问越来越慢,有时候网络不好的时候打开一个页面需要5秒以上,所以我决定对博客来一次彻底的优化;然后本文记录了优化的过程及步骤
1. 优化了代码结构

    每个页面的独有js放页面的最后,让页面加载的时候最后加载js    

    删除zblog中的冗余代码及不用的模块

    更新了页面的样式(这个就算UI优化了)

    删除了某些插件

2. 静态资源的优化

    压缩js,css代码(此操作对静态资源的加载耗时提升很大)

    比如jquery引入国内新浪的资源镜像(之前引入的是本地的,但是服务器在国外所以国内访问巨慢)
https://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.j

    对于其他的静态资源,我们可以放在七牛上,速度也会快很多

    写了个python脚本压缩了所有文章的已上传的图片,这里吐槽下zblog,上传图片都不压缩,直接放原图,有时候一张图片500多k,需要加载超过1秒的时间,所以我们需要压缩图片,压缩脚本如下 github
import tinify
import os
# https://tinypng.com/dashboard/api key从这里获取,每月500次调用次数
tinify.key = 'you key '
fileArray = []
# 递归深度遍历文件
def traverse(f):
    fs = os.listdir(f)
    for f1 in fs:
        tmp_path = os.path.join(f, f1)
        if not os.path.isdir(tmp_path):
            if is_img(tmp_path):
                fileArray.append(tmp_path)
        else:
            traverse(tmp_path)

# 根据路径判断文件是不是img
def is_img(path):
    path = path.split('.')[-1].upper()
    return True if (path == 'PNG') | (path == 'JPG') | (path=='JPEG') else False

traverse('你想压缩的根目录')
for imgpath in fileArray:
    print("compressing ..." + imgpath)
    tinify.from_file(imgpath).to_file(imgpath)

    这里我们使用了tinypng这个网站提供的api进行压缩的,效果很不错

    做到这里的时候,博客的速度已经提高了很多,页面完全加载时间在3秒左右

3. 系统环境的优化

    升级了php版本,从php7.1升级到7.3

    开启了opcache,配置如下,此配置对php7性能提升明显,php.ini配置如下
[opcache]
; 启动操作码缓存
opcache.enable=1
; 针对支持CLI版本PHP启动操作码缓存 一般被用来测试和调试
opcache.enable_cli=1
; 共享内存大小,单位为MB
opcache.memory_consumption=128
; 存储临时字符串缓存大小,单位为MB,PHP5.3.0以前会忽略此项配置
opcache.interned_strings_buffer=8
; 缓存文件数最大限制,命中率不到100%,可以试着提高这个值
opcache.max_accelerated_files=4000
; 一定时间内检查文件的修改时间, 这里设置检查的时间周期, 默认为 2, 单位为秒
opcache.revalidate_freq=60
; 开启快速停止续发事件,依赖于Zend引擎的内存管理模块,一次释放全部请求变量的内存,而不是依次释放内存块
opcache.fast_shutdown=1
;启用检查 PHP 脚本存在性和可读性的功能,无论文件是否已经被缓存,都会检查操作码缓存,可以提升性能。 但是如果禁用了 opcache.validate_timestamps选项, 可能存在返回过时数据的风险。
opcache.enable_file_override=1
; 拓展库so文件关联加载
/www/server/php/73/lib/php/extensions/no-debug-non-zts-20180731/opcache.so/www/server/php/73/lib/php/extensions/no-debug-non-zts-20180731/opcache.so

    开启了Opcache file cache,php.ini配置文件如下(保证/tmp文件存在且有权限写入)

    通过开启这个, 我们可以让Opcache把opcode缓存缓存到外部文件中, 对于一些脚本, 会有很明显的性能提升
opcache.file_cache=/tmp

    其实这里的瓶颈主要在网络上,因为我的服务器在美国,所以在中国访问肯定会慢一些,我们只能去减少整个页面的资源大小来实现优化,相应的数据库优化等就不再进行,因为即使优化了提升也不会太明显

标签: php优化

相关文章

18年总结-----来自很菜的我

不知不觉,毕业快2年了,整个17年末到整个18年收获还是蛮大的;    1、学习了新的语言-----python,学会使用scrapy爬虫框架,学习了各种爬虫技...

我想成为一名真正的程序员

最近看了 左耳朵耗子 写的一段话:所以,我和一些人开玩笑说,我们可能都是在写一样的 for(int i=0; i<n; i++) 语句,但是,你写在那个地方一文不值,而我写在这个地方,这行代码就...

要开始学习了啊

要开始学习了啊

新书送到,看起来又要开始学习啦最近感觉一直在瞎忙,每天看起来都在学习,却知不知道学到了什么,学到的东西很杂很乱,毫无头绪,浪费了好多时间;所以接下来的半年要自己做一个小目标,比如最少看完一半的《ngi...

请规范你的代码,Coder

请规范你的代码,Coder

hello,大家好,好久不见,最近3周都没有研究新技术,出教程;原因是这样的:两周前,我接手了一个水平极差的已经离职的同事的代码,并且要在此平台上做一些新的功能,万万没想到,这货居然在代码里下毒!!!...

记一次惊心动魄的服务器操作

    公司的测试服务器上面放着一些测试项目和一些临时的原型项目,某天,需要建立2个站点,老大把这个“艰巨”的任务交给了我因为配置了负载均衡,我就按部就班的操作...

编程之禅

Beautiful is better than ugly. (优美比丑陋好)Explicit is better than implicit.(清晰比晦涩好)Simple is better tha...

评论列表

动画制作
2019-09-08 11:56:20

优化了提升也不会太明显

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。