centos-rhel服务器相关 / linux / php / 未分类 · 2016年8月12日

小内存VPS的MySql和Php优化设置

512内存VPS的MySql和Php优化设置
(其实可以参考一下张宴的那个)
mysql
修改以下参数:
key_buffer = 16K
max_allowed_packet = 1M
thread_stack = 64K
table_cache = 4
sort_buffer = 64K
net_buffer_length = 2K
如果你不使用InnoDB表,就在文件底部禁用InnoDB:
skip-innodb
这么一搞 php 在前面 了 但是感觉好像访问慢了一些些呢
接下来优化一下Php的设置
确保以下的参数已经设置好,主要要去掉前面的注释符号“;”
max_execution_time = 30
memory_limit = 64M
error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
display_errors = Off
log_errors = On #这个我关了
error_log = /var/log/php.log
register_globals = Off #这个我没看到 
注意:这里的64M设置对大部分站点都适用,如果是更大的站点,你需要改成128M或者更大。
pm = dynamic
#这个选项决定着php-fpm的进程管理方式,对于小内存的vps来说,设置成dynamic可以让php-fpm根据需求自动调整进程的数量,节约内存。
pm.max_children = 10
#php-fpm最大的进程数,可以根据内存大小/40M得到,当然对于mysql、nginx都和php在同一台机子上面跑的环境,需要留出一定的余量。
pm.min_spare_servers = 3
#php-fpm在空载时,保留的最小进程数。
pm.max_spare_servers = 6
#php-fpm在空载时,保留的最大的进程数。
pm.start_servers = 3
#php-fpm启动时fork的进程数量,默认值是min_spare_servers + (max_spare_servers – min_spare_servers) / 2
pm.max_requests = 2048
#某些php模块可能存在内存溢出的情况,所以有时候可以看到某个php-fpm进程的内存占用变得奇高。设置这个参数,可以使单个进程在处理N个请求后重启,有效避免内存溢出。小内存的vps建议启用这个参数并且设置一个比较小的值。
小内存VPS的MySql和Php优化设置
https://mikemiao111.com/php-fpm-memory/
https://www.douban.com/note/315222037/
http://blog.csdn.net/dc_726/article/details/12340349
https://mikemiao111.com/php-fpm-memory/
https://blog.kuoruan.com/72.html