前言:乘着此次空闲,来记录下关于PHP和PHP-FPM配置文件的优化,也方便之后本身复习。php
先说PHP的web
一、PHP脚本执行时间服务器
max_execution_time = 30session
该选项设定PHP程序的最大执行时间,若是一个PHP脚本被请求,且该PHP脚本在max_execution_time时间内没能执行完毕,则PHP再也不继续执行,直接给客户端返回超时错误。没有特殊须要该选项可保持默认设置30秒,若是您的PHP脚本确实须要长执行时间则能够适当增大该时间设置。 app
二、PHP脚本处理内存占用socket
memory_limit = 8Mmemcached
该选项指定PHP脚本处理所能占用的最大内存,默认为8MB,若是您的服务器内存为1GB以上,则该选项能够设置为12MB以得到更快的PHP脚本处理效率。 php-fpm
三、PHP上传文件大小限制优化
upload_max_filesize = 2Mspa
max_file_uploads = 3
该选项设定PHP所能容许最大上传文件大小,默认为2MB。根据实际应用需求,能够适当增大该设置,max_file_uploads表示单次请求最多只能上传 3 个文件
四、会话处理
session.save_handler = 'memcached' // 存放方式
session.save_path = '127.0.0.1:11211' // 存放路径
该选项用于配置会话的存储方式和存放路径,默认是file文件方式,默认方式会拖慢大型应用,由于这个处理程序会把会话数据存储在硬盘中,须要建立没必要要的磁盘 I/O,浪费时间。
以上就是一些常见的优化和配置了
再说下PHP-FPM的
说以前,咱们先了解下什么是PHP-FPM。PHP-FPM(FastCGI Process Manager:FastCGI进程管理器)是一个PHP-FastCGI管理器。那么PHP-FastCGI又是什么呢?
FastCGI是一个可伸缩地、高速地在HTTP服务器和动态脚本语言间通讯的接口(FastCGI接口在Linux下是socket(能够是文件socket,也能够是ip socket)),主要优势是把动态语言和HTTP服务器分离开来。多数流行的HTTP服务器都支持FastCGI,包括Apache、Nginx和lightpd。
好了,这2个大概是了解了,下面说下PHP-FPM的配置
一、进程数
pm = static // 使用方式;还有一个dynamic(动态)
二、最大处理请求数
pm.max_requests = 10240
[root@b28-12 log]# grep -v "^$" www.log.slow.tmp | cut -d " " -f 3,2 | sort | uniq -c | sort -k1,1nr | head -n 50
5181 run() /www/test.net/framework/web/filters/CFilter.php:41
5156 filter() /www/test.net/framework/web/filters/CFilterChain.php:131
2670 = /www/test.net/index.php
2636 run() /www/test.net/application/controllers/survey/index.php:665
2630 action() /www/test.net/application/controllers/survey/index.php:18
2625 run() /www/test.net/framework/web/actions/CAction.php:75
2605 runWithParams() /www/test.net/framework/web/CController.php:309
2604 runAction() /www/test.net/framework/web/filters/CFilterChain.php:134
2538 run() /www/test.net/framework/web/CController.php:292
2484 runActionWithFilters() /www/test.net/framework/web/CController.php:266
2251 run() /www/test.net/framework/web/CWebApplication.php:276
1799 translate() /www/test.net/application/libraries/Limesurvey_lang.php:118
1786 load_tables() /www/test.net/application/third_party/php-gettext/gettext.php:254
1447 runController() /www/test.net/framework/web/CWebApplication.php:135