记一次博客优化的过程

薄洪涛6年前个人随笔1593
近期博客访问越来越慢,有时候网络不好的时候打开一个页面需要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优化

相关文章

19年总结--------来自依旧很菜的我

19年总结--------来自依旧很菜的我

今天是19年的最后一个工作日,临近下班做个19年的总结吧,19年是我的本命年,过的不算太好,但也不算很差,就按照时间的顺序来记录下19年的几个重要的点吧;19年3月,从前公司离职,由python转ph...

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

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

homebrew切换源

安装yarn执行brew install brew 报错,如下==> Pouring libuv-1.41.0.big_sur.bottle.tar.gz tar: ...

请规范你的代码,Coder

请规范你的代码,Coder

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

宏碁V3-575G笔记本开启一键起飞模式

宏碁V3-575G笔记本开启一键起飞模式

工作本,使用3年的老宏碁笔记本,刚开始买的时候,散热刚刚的,现在散热越来越不行,玩个小游戏都分分钟高温报警,清灰也没有用,也没有一键强冷模式;比较坑;今天突发奇想,笔记本的风扇是三根线,如图为什么是三...

留下了佩服的泪水

留下了佩服的泪水

偶然看到Yii框架作者强哥的github,大佬,真心佩服...

评论列表

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

优化了提升也不会太明显

发表评论    

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