在Debian系统中,优化PHP与MySQL的性能可以通过以下几个方面来实现:
确保你使用的是最新版本的PHP,并且安装了必要的扩展。
sudo apt update
sudo apt install php php-cli php-fpm php-mysqlnd php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath
编辑/etc/php/7.4/fpm/php.ini文件(根据你的PHP版本调整路径),进行以下优化:
; 增加内存限制
memory_limit = 256M
; 增加执行时间限制
max_execution_time = 300
; 启用OPcache
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
; 启用MySQLi持久连接
mysqli.allow_local_infile = On
mysqli.cache_size = 2000
mysqli.max_links = -1
编辑/etc/mysql/mysql.conf.d/mysqld.cnf文件,进行以下优化:
[mysqld]
; 增加缓冲区大小
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
innodb_log_buffer_size = 64M
innodb_flush_log_at_trx_commit = 2
innodb_file_per_table = 1
; 启用查询缓存
query_cache_size = 64M
query_cache_type = 1
; 调整连接数
max_connections = 500
; 启用慢查询日志
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow-queries.log
long_query_time = 2
; 启用InnoDB表空间自动扩展
innodb_autoextend_increment = 64M
innodb_file_per_table = 1
重启PHP-FPM和MySQL服务以应用更改:
sudo systemctl restart php7.4-fpm
sudo systemctl restart mysql
使用工具如top, htop, iostat, vmstat等监控系统资源使用情况,并根据实际情况进一步调整配置。
对于高并发场景,可以考虑使用连接池来管理数据库连接,减少连接开销。
确保你的SQL查询是优化的,使用索引,避免全表扫描。
对于不经常变化的数据,可以使用Redis或Memcached等缓存系统来减少数据库负载。
通过以上步骤,你可以显著提升Debian系统中PHP与MySQL的性能。记得定期检查和调整配置,以适应不断变化的应用需求。