WordPress性能优化


以下是一些关于WordPress的优化建议:

一、Nginx配置

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 60;

1.1 GZIP压缩

gzip on;
gzip_vary on;
gzip_disable "msie6";
gzip_min_length 1k;
gzip_comp_level 5;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript application/x-httpd-php;

1.2 静态缓存

location ~.*\.(js|css|html|png|jpg|jpeg|gif|gz|svg|mp4|ogg|ogv|webm|htc|xml|woff|zip|webp)$
{
    access_log off;
    expires  30d;
    try_files $uri =404;
}

二、PHP配置

2.1 opcache配置

[opcache]
; 启用opcache
opcache.enable = 1

; opcache使用的内存量
opcache.memory_consumption = 256M

; 存储字符串的缓冲区大小,单位是MB
opcache.interned_strings_buffer = 32

; 可存储的脚本文件数量上限
opcache.max_accelerated_files = 1979

; 设置重新验证脚本缓存的频率,以秒为单位。如果设置为0,则每次请求都会重新验证缓存
opcache.revalidate_freq = 60

; 启用或禁用时间戳验证。如果启用此功能,OPcache会在每次请求时检查脚本的时间戳以确定是否需要重新加载脚本
opcache.validate_timestamps = 0

; 启用会将缓存持久化到文件
opcache.file_cache = 0

; 是否将注释保存到缓存中,如果依赖注释中的注解需要启用,wordpress中没有使用
opcache.save_comments = 0

; php8以上版本启用jit
opcache.jit = 1235
opcache.enable_cli = 1

三、WordPress调整

可以通过直接修改WordPress配置文件(wp-config.php)或者安装插件进行的优化项目。

3.1 关闭默认的CRON执行器

define( 'DISABLE_WP_CRON', true );

可以通过系统的crontab来执行定时任务:

# 修改crontab配置
crontab -e

# 添加下面行
* * * * * php -f /path/to/wp-cron.php

3.2 限制修订版本数量

define( 'WP_POST_REVISIONS', 5 );

3.3 应用对象缓存插件

这没什么可说的,参考WordPress常用插件

3.4 安装使用PWA插件

四、数据库优化

需要根据实际情况,仅适用于大多数小型实例。

# 表定义缓存数量,最低400
table_definition_cache = 400
# 打开表缓存
table_open_cache = 500
# 关闭performance_schema,大型实例不建议采用,大概能节省数据库默认占用一半的内存
performance_schema = off

# 尽可能增加innodb_buffer_pool_size
innodb_buffer_pool_size = 512M

# 决定了事务日志何时被写入并刷新到磁盘上
# 0:每秒将日志写入并刷新到磁盘
# 1:每次事务提交时,都将日志写入并刷新到磁盘
# 2:每次事务提交时,都将日志写入日志缓冲区,但仅在每秒刷新到磁盘
# 选择0/2,宕机时有可能丢失1秒内事务数据
innodb_flush_log_at_trx_commit = 0

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注