这里只列出了少数参数,根据工作中实际使用到的和结果,间断更新。
php.ini
zlib.output_compression=On;
zlib.output_compression_level=3;
zlib.output_handler=;
- 开启zlib压缩,开启后,php会将返回的数据压缩返回,并且返回头中的Content-Encoding值会变成gzip。
- 压缩级别,一般设置在1-5之间,值越大压缩比越高,一般设置个居中值就可以了,因为压缩效率是成反比的,设置一个很大的值,也许花费了很大的性能只压缩了很小的内容。
- 根据文档所述,如果开启压缩,这个项目必须开启,不需要设置值,否则可能会产生错误。
php-fpm
max-children = 150;
- 一个子线程大约消耗20M内存,根据自己系统的实际内存来设置即可,最好不好直接设置最大值,占用大约70%-80%内存即可。
nginx
worker_processes 2;
worker_rlimit_nofile 65535;
error_log xxxxx.log crit;
全局配置模块
- 工作进程数,设置与CPU内核数量一致即可。
- 最大文件操作符数量,linux中与
ulimit -n
数量一致即可,默认最大值为65535,若需更大的数目,只需要用这条命令设置即可。 - 输出错误级别,c’rit级别才输入至log。
worker_connections 65535;
use epoll;
multi_accept on;
event配置模块
- 最大线程处理连接数,我这里设置的与操作符一致。
- 允许单个线程处理多个任务,这里的值会根据系统不同有所不同,我这里系统为centos因此使用这个值。
- 允许尽可能的处理链接,如果最大线程处理连接数过低,会产生大量无效请求。
sendfile on;
tcp_nopush on;
tcp_nodelay on;
http配置模块
- 使用内核传输,比普通操作效率更高。
- 服务器在 sendfile 时可以提前准备 HTTP 首部,能够达到优化吞吐的效果。
- 不要缓存 data-sends (关闭 Nagle 算法),这个能够提高高频发送小数据报文的实时性。
PHP7
开启opcache扩展,yum安装的情况下,直接yum install php-opcache
即可,指定源等操作可以查看我的配置服务器文章。