老白博客WordPress优化专题集:宝塔面板nginx-php-MySQL提速综合优化指南,包括对nginx服务器的简单调整、PHP的相关优化以及MySQL的设置等。老白个人认为网站优化分为两大部分,一个是服务器,另外一个就是网站的相关插件,二者搭配,速度绝对快得飞起!
[h1]宝塔MySQL优化指南[/h1]
通常MySQL调优我们分以下几部分:
- MySQL配置参数调优 (需要根据网站运行情况调整)
- 数据表索引调优 (效果明显,但通常优秀的开源程序都不需要调整)
- SQL语句调优 (这是程序员或DBA干的事)
(本节参考自:https://www.bt.cn/bbs/thread-6346-1-1.html,感谢分享) 今天我们主要谈谈如果配合宝塔面板的新功能来进行MySQL配置参数调优。打开MySQL的“当前状态”和“性能调整”模块
[h2]1、MySQL性能智能调整[/h2]
宝塔提供了一键优化功能,在‘性能调整’页的顶部有‘优化方案’,对应你的服务器内存大小进行选择即可。
[h2]2、MySQL性能人工调整[/h2]
在使用了上面说的智能调整后,我们可以根据前文提到的“当前状态”,手动对某些特殊项进行调整。调整的规则如下:
- 活动峰值连接数:这个值不大于max_connections即可,非常接近或者满了,就加max_connections,每次加50。
- 线程缓存命中率:这个百分比不要小于90%,小于就加thread_cache_size,每次加8。
- 索引命中率:这是给MyISAM引擎用的,小于95%就加key_buffer_size,每次64。
- Innodb索引命中率:这是给Innodb引擎用的,小于95%就加innodb_buffer_pool_size,每次64。
- 查询缓存命中率:如果服务器或WordPress使用了redis、memcached进行缓存,那这项对应的query_cache_size可以设置成0。反之就使用默认配置即可。PS:在MySQL后续版本中已经放弃了这条,所以它未来也变得没那么重要。
- 创建临时表到磁盘:WordPress不用太注意这个,因为WP本身就优化过。该值在45%左右即可,控制它的是tmp_cache_size,适当增减32。维持在45%或50%都行。
[h2]3、转换InnoDB数据库引擎[/h2]
WordPress官方推荐:更强大的事务处理、数据完整性保护及高效的并发控制能力。在宝塔左侧——数据库——工具中转化
[h1]宝塔PHP优化指南[/h1]
(本节参考自:https://cloud.tencent.com/developer/article/1160290,感谢分享)
[h2]1、定期释放内存[/h2]
添加计划任务,可以设置每天或一周释放一次,间隔时间根据自己网站情况定,执行时机为半夜,如:1:30。 看下图,在宝塔面板左侧的计划任务中操作即可。
[h2]2、添加 Swap虚拟内存[/h2]
无论服务器内存多大都必须添加 Swap。在宝塔面板的软件管理>>系统工具中找到 Linux 工具箱 1.4,点击最右侧的“设置”打开 Swap 虚拟内存,按照下面的推荐值进行设置。 Swap 推荐值:2G 和 2G 以下内存的服务器,设置成和物理内存相同容量 SWAP;2G 以上的,设置为 2G。如果跑的程序特别耗费内存,2G 内存以上的 Swap 也可以设置与内存相同。
[h2]3、安装 PHP 缓存扩展[/h2]
个人博客的 php 缓存扩展推荐使用 Opcache 脚本缓存和 Memcached 内容缓存。在软件管理>>你使用的 php 版本最右侧点击“设置”,进入安装扩展,右侧点击这两个扩展后面的“安装”,再确认一次,很快搞定。关于memcached的相关优化方案如下:
纯代码免插件优化WordPress6.3实现0sql-强化拓展
[h2]4、php 配置调整[/h2]
同样在 php 管理的配置修改中,memory_limit 脚本内存限制修改成 256M,这样 wordpress 跑起来更顺畅了;upload_max_filesize 允许上传文件的最大尺寸,像 avada 模板可能会超过这个数值无法上传,需要修改为大于上传文件的数值。下面是老白博客改好后的:
[h2]5、PHP 性能调整[/h2]
宝塔面板提供了几个优化过的 php 并发方案,大家根据自己服务器配置选择即可。
[h2]6、Session配置[/h2]
在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。 当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在 Session 对象中。 简单来说,Session就是存储访问用户的信息的。 目前存在硬盘上极度占用空间,因此老白博客推荐转为memcached或者redis
[h1]宝塔nginx优化指南[/h1]
这是运行环境,相比Apache而言,Nginx效率更高,占用更少。需要优化的部分有以下几个:
[h2]1、配置GZIP或brotli压缩[/h2]
GZIP是宝塔自带的,我们可以在nginx配置里面设置压缩等级,等级越高,压缩比越高,服务器荷载自然越大。 但是brotli压缩宝塔的nginx默认是没有编译的,需要我们自己编译,教程如下:
宝塔已上架nginx1.25-27-http3/quic+brotli轻松搞定
[h2]2、nginx_fastcgi缓存[/h2]
这个相对比较复杂,可以看看下面的详细教程:
2024WordPress前端优化之Nginx fastcgi_cache缓存
[h2]3、HTTP3[/h2]
目前宝塔已有nginx1.25版本,很简单就能开启。
宝塔已上架nginx1.25-27-http3/quic+brotli轻松搞定
[h2]4、HSTS预读取[/h2]
相关文章
本文作者为test,转载请注明。