记一次博客优化的过程
每个页面的独有js放页面的最后,让页面加载的时候最后加载js
更新了页面的样式(这个就算UI优化了)
删除了某些插件
压缩js,css代码(此操作对静态资源的加载耗时提升很大)
https://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.j
对于其他的静态资源,我们可以放在七牛上,速度也会快很多
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] ; 启动操作码缓存 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.file_cache=/tmp
其实这里的瓶颈主要在网络上,因为我的服务器在美国,所以在中国访问肯定会慢一些,我们只能去减少整个页面的资源大小来实现优化,相应的数据库优化等就不再进行,因为即使优化了提升也不会太明显