在Ubuntu上优化Apache以支持MySQL连接,可以通过以下几个方面来实现:
MaxClients
参数决定了Apache可以同时处理的最大请求数。增加这个值可以提高并发处理能力。
sudo nano /etc/apache2/apache2.conf
找到或添加以下行并调整值:
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
KeepAlive
允许客户端与服务器保持连接,减少每次请求的开销。
<IfModule mpm_prefork_module>
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
</IfModule>
编辑MySQL配置文件/etc/mysql/my.cnf
或/etc/mysql/mysql.conf.d/mysqld.cnf
,进行以下调整:
[mysqld]
innodb_buffer_pool_size = 1G # 根据服务器内存大小调整
query_cache_size = 64M
query_cache_type = 1
tmp_table_size = 64M
max_heap_table_size = 64M
增加MySQL的最大连接数:
[mysqld]
max_connections = 500
使用连接池可以减少每次请求时建立和关闭连接的开销。可以考虑使用mysqlnd
连接池或第三方库如php-mysqlnd-ms
。
sudo apt-get install php-mysqlnd-ms
编辑PHP配置文件/etc/php/7.x/apache2/php.ini
(根据PHP版本调整路径),添加以下内容:
[mysqlnd_ms]
ms_driver = mysqlnd_ms
ms_servers = "localhost:3306"
ms_name = "master"
定期监控Apache和MySQL的性能,查看日志文件以发现潜在问题。
tail -f /var/log/apache2/access.log
tail -f /var/log/apache2/error.log
tail -f /var/log/mysql/error.log
通过以上步骤,可以显著提高Ubuntu上Apache与MySQL连接的性能和稳定性。
亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>
推荐阅读:Ubuntu Apache配置中如何优化数据库连接