简单优化WordPress站点的资源占用

(服务器环境:2c1G, 40G ESSD, 1Tb per month @30Mbps

CentOS 7.9 based on Linux 5.4 x86_64, BT Panel 7.7

Tengine 2.3.3, MySQL 5.6.50, PHP 8.0)

内存压力大
内存压力蚌埠住了 qwq

通用优化

加钱!

开启swap,适当设置swappiness值(个人设置在30左右)。

(升级Linux内核,)使用BBR拥塞控制算法,能一定程度减少TCP连接延迟。

同一台服务器上的软件间尽量换用Unix套接字提高数据交换效率。

使用性能更高的ECC证书和TLS v1.3。

普通优化

均在宝塔面板“软件设置-性能调整”中设置。

部分参数设置不当可能会导致站点运行缓慢

PHP

确保“PHP-FPM运行模式”为“动态模式。

max_children(最大子进程数)视内存大小而定(每个子进程需约20MB内存);

start_servers(服务启动后初始进程数),不用管,个人设置为4;

min/max _spare_servers(最 小/大 空闲进程数),空闲进程数达到最大值时清理其至最小值,

这里默认值比较大,我在小内存机器上将其设置为 3/5,实测能明显减少内存占用。

至于memcache因内存不够,故不考虑。

Nginx(Tengine)

入门级也没啥值得改的设置,若用Nginx处理图片等资源请求,可打开gzip压缩传输,用CPU资源换更短的下载时间

comp_level可选1~9,建议设置在1~5,视CPU、带宽和资源大小而自行决定

实测level 5效果明显,对于1M+的背景图片的下载速度可缩短至40%左右。

MySQL

换MariaDB! 换MariaDB! 换MariaDB! (bushi

这玩意内存占用是真滴特别高(那就换拥有比MySQL更纯正的MySQL血统的MariaDB

先在性能调整选择相应的优化方案,然后正常使用一段时间之后去”当前状态“查看各指标情况,

其中每项数据指标都有相应的修改建议,参考内存大小适量修改即可。

简单分析Waterfall图表

按F12打开开发者模式,进入Network选项卡,使用Shift+F5 或 Ctrl+Shift+R不使用缓存刷新。

看Waterfall Chart里Request/Response的数据:Request sent、Waiting (TTFB)、Content Download:

TFFB(Time to First Byte

顾名思义,从发送请求到开始收到服务器响应的时间

若该时间过长(不考虑网络流量延迟),则是服务器处理请求时间较长,可以查看MySQL查询线程是否堵塞,PHP队列长度是否合适,(Nginx在低负载情况下似乎不会拖后腿

Content Download

若该时间过长,对于存储在该服务器上的资源可以开启BBR拥塞控制算法、选择适当的gzip_comp_level缩短下载时间。

若资源没存储在该服务器上可以换个好点的图床或者CDN。


别换MariaDB了,占用一样高qwq。

究极优化:换Typecho。

评论

  1. Cheese'Mouse
    Windows Edge 89.0.774.68
    2月前
    2021-8-07 18:26:44

    我去试试

发送评论 编辑评论


上一篇
下一篇