php配置调优
php-fpm.conf优化
php-fpm主要有以下几个可优化配置:
配置项 | 说明 |
---|---|
listen | 推荐使用/tmp/php-cgi.sock,速度较快 |
pm | 进程管理模式 static(静态)或者dynamic(动态) |
pm.max_children | 静态方式下开启的php-fpm进程数量 |
pm.start_servers | 动态方式下的起始php-fpm进程数量 |
pm.min_spare_servers | 动态方式下的最小php-fpm进程数 |
pm.max_spare_servers | 动态方式下的最大php-fpm进程数量 |
注意:后三个参数只在 pm = dynamic 时有效,
pm.max_children
只在 pm = static 时有效
对于内存比较大,负载比较高的情况下,使用 static 模式比较好,因为动态模式不断的fork进程和销毁进程会造成额外的开销。
两种模式下的进程数都要根据实际内存在计算,假设一个fpm会占用30M左右的内存,你的机器有8G,扣除nginx,mysql等其他应用使用的内存,分配给fpm使用的内存算2G-3G左右,那么fpm进程数最多可以配置3000/30 = 100个左右。
php.ini优化
主要以下几个可优化配置
配置项 | 说明 |
---|---|
disable_functions | php脚本中禁止执行的方法,都是危险的方法,除非真的需要使用。 |
max_execution_time | php最多执行时间,根据实际情况配置 |
memory_limit | 每个脚本最多占用内存,默认128M,根据内存大小增减 |
register_globals | 全局函数声明,配置为Off。开启的话声明的函数默认为全局,会造成脚本互相冲突 |
upload_max_filesize | 文件最大上传大小,如果你的应用只上传图片,2M即可 |
display_errors | 生产环境请配置为Off |
magic_quotes_gpc | 魔术转义,配置为Off,可以防止sql注入等攻击 |
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。