php.ini调优
一、 最大内存:
memory_limit 表示单个进程能够占用的最大内存,默认为128M,适用于大多数中小型网站。设置一个合适的数值取决于以下因素:
- php能够使用的最大内存。如果你的主机内存为2G,其中还有其他的服务,例如mysql,nginx,memcache等,那么设置为512MB比较安全。
- 单进程php平均占用多大的内存? 在脚本末尾调用 memory_get_peak_usage() 可以得到峰值。多测试几次就能得到。经常在5-20M之间。
- 能够提供多少个php-fpm进程? 以PHP最大内存512M / 单进程php平均内存 15M = 34 个php-fpm进程。
- 是否有足够的系统资源? 如果没有,需要升级系统,再从第一步开始。
二、Zend OPcache:
zend opcache能够缓存php的编译内容,从而提高访问速度。在php.ini中添加此项
[zend opcache]opcache.memory_consumption=64opcache.interned_strings_buffer=16opcache.max_accelerated_files=4000opcache.validate_timestamps=1opcache.revalidate_freq=0opcache.fast_shutdown=1
三、文件上传
file_uploads=1upload_max_filesize=10Mmax_file_uploads=3
如果设置上传文件过大,可能需要到nginx虚拟机设置 client_max_body_size
四、最大执行时间
max_execution_time=5
可以在脚本里用 set_time_limit() 覆盖,如果需要执行文件上传、图片处理等长时间的任务,可以调用后台脚本进行处理,queque队列管理。
五、session缓存处理,使用memcached
session.save_handler='memcached'session.save_path='127.0.0.2:11211'
六、输出缓存,默认值
output_buffering=4096implicit_flush=false
七、Realpath Cache ,文件路径缓存,减少搜索文件时间
realpath_cache_size = 64k
默认值为16k,可以先设置个比较大的值,比如256K,然后 print_r(realpath_cache_size()); 得到真实的值。