在CentOS上,如果PHP-FPM连接MySQL慢,可以尝试以下方法来加速:
优化MySQL配置:
/etc/my.cnf
文件,根据服务器的硬件资源调整相关参数,例如innodb_buffer_pool_size
、max_connections
、query_cache_size
等。systemctl restart mysqld
使用持久连接:
mysqli_connect('p:localhost', 'user', 'password', 'database')
或new PDO('mysql:host=localhost;dbname=database', 'user', 'password', array(PDO::ATTR_PERSISTENT => true))
。这样可以减少每次请求时建立和关闭连接的开销。优化PHP-FPM配置:
/etc/php-fpm.d/www.conf
文件,调整pm
(进程管理)参数,例如使用pm = dynamic
或pm = ondemand
,以便根据负载自动调整子进程数量。request_terminate_timeout
参数,以减少慢查询导致的连接超时。使用连接池:
mysqli
扩展的mysqli_real_query()
函数或PDO
扩展的PDO::ATTR_TIMEOUT
属性。这样可以重用现有连接,减少新建连接的开销。优化网络性能:
ping
和traceroute
命令进行诊断。升级硬件:
尝试以上方法后,如果仍然存在连接慢的问题,请查看系统日志和MySQL日志,以获取更多关于性能瓶颈的信息。