温馨提示×

Linux PHP-FPM与MySQL连接优化

小樊
53
2025-08-11 09:57:21
栏目: 云计算

一、PHP-FPM配置优化

  • 调整进程管理参数:修改/etc/php-fpm.d/www.conf,设置pm.max_children(建议为服务器内存的50%-70%除以单个进程内存占用)、pm.start_serverspm.min_spare_serverspm.max_spare_servers,平衡进程创建和销毁开销。
  • 启用持久连接:在PHP代码中使用mysqliPDO的持久连接功能(如mysqli_connect('p:localhost',...)PDOATTR_PERSISTENT参数),减少连接建立/关闭的开销。

二、MySQL配置优化

  • 优化内存与连接数:设置innodb_buffer_pool_size为服务器总内存的50%-70%,max_connections根据并发需求调整(需大于PHP-FPM子进程数),避免连接耗尽。
  • 控制连接超时:设置wait_timeoutinteractive_timeout(如60秒),清理空闲连接,防止长时间占用资源。

三、其他优化措施

  • 使用连接池:通过php-mysqlnd-ms扩展或应用层实现连接池,复用数据库连接,降低频繁创建连接的开销。
  • 优化查询:使用预处理语句、索引和事务,减少全表扫描和不必要的查询。
  • 监控与调优:通过tophtopmysqladmin等工具监控资源使用情况,根据负载动态调整参数。

0