LNMP架构基础调优
PHP优化
修改/usr/local/php/etc/php-fpm.conf
php 5.2
调整:
max_children
的值
php 5.3+
调整:
pm.min_spare_servers
和pm.max_spare_servers
的值适当增加
最大值可以按内存xxMB/2/20 的整数来算,最小值可以按内存/2/40 的整数来算,可以少点或多大,可以自己调整运行看看。
MySQL优化
MySQL参数优化可以自己适当调整/etc/my.cnf
里的参数
key_buffer_size
table_open_cache
sort_buffer_size
read_buffer_size
myisam_sort_buffer_size
thread_cache_size
query_cache_size
tmp_table_size
innodb_buffer_pool_size
innodb_log_file_size
performance_schema_max_table_instances
等,可以参考:https://github.com/licess/lnmp/blob/master/include/mysql.sh#L84
里面的内存设置
Nginx优化
nginx可以调整 /usr/local/nginx/conf/nginx.conf
的worker_processes
Nginx作者说的:
一般一个进程足够了,你可以把连接数设得很大。如果有SSL、gzip这些比较消耗CPU的工作,而且是多核CPU的话,可以设为和CPU的数量一样。或者要处理很多很多的小文件,而且文件总大小比内存大很多的时候,也可以把进程数增加,以充分利用IO带宽(主要似乎是IO操作有block)。
现在大部分版本上也可以设置为:worker_processes auto
; 自动调整
所有调整均需要重启对应的程序使其生效。
建议改配置前备份一下配置文件,以便出错时恢复或查找错误。
- 原文作者:码中春秋
- 原文链接:https://blog.taielab.com/2018-10-17/lnmp-architecture-base-optimization.html
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。