站長資訊網
最全最豐富的資訊網站

深入了解怎么優(yōu)化php+php-fom+nginx配置參數(shù)

怎么優(yōu)化php+php-fom+nginx配置參數(shù)?下面本篇文章給大家詳細介紹一下php+php-fom+nginx配置參數(shù)調優(yōu)的方法,希望對大家有所幫助。

深入了解怎么優(yōu)化php+php-fom+nginx配置參數(shù)

一、前言

對于一臺新的服務器,安裝LNMP環(huán)境只是第一步,第二步當然是要修改默認的配置參數(shù),讓這些程序變得好用,性能也提升起來。這篇文章主要講述php+php-fpm+nginx的配置參數(shù),機器是4GB內存的服務器,相關配置都是按照4GB內存的服務器來配置的。

1、mysql配置參數(shù):

mysql配置參數(shù)調優(yōu)(8GB內存和64GB內存)
mysql配置文件構成以及具體的配置demo

2、注意

下面給出的一些配置都是相對來說會影響性能或者必須要配置的地方,沒有提及的配置都是按照默認的來。這三個程序的配置參數(shù)很多,咱們的服務器剛開始也著實用不到太復雜的配置,下面的配置主要是為了盡量提升高并發(fā)能力以及盡量提高程序的性能。

php和php-fpm都是5.6版本的。(一切都是為了兼容老項目,,苦逼)

二、php參數(shù)配置及講解

1、phpini的基本設置

(1)safe_mode  這份的配置采用默認的 (2)disable_functions  在默認的基礎上,加上eval()函數(shù) (3)expose_php = off (4)register_globals和magic_quotes_gpc參數(shù)都在php5.4.0后被移除了 (5)錯誤提示以及日志部分采用默認的就行,現(xiàn)在大部分使用的都是框架, 查看框架的錯誤日志更方便

這幾個參數(shù)是網上經常提及的,不過咱們這邊并不是都要按照他們的配置來,畢竟年代已久,很多bug或者性能問題都已經被修復。

2、php參數(shù)設置

(1)max_execution_time = 300

腳本運行的最長時間,超出規(guī)定時間,腳本會自動殺死這個請求,為了能上傳大文件,所以這個值設置的大一些。這個值太小也會造成程序502錯誤。

(2)memory_limit = 128M

每個腳本使用的最大內存

(3)max_inpit_time = 300

每個腳本等待輸入數(shù)據(jù)的最長時間

(4)upload_max_filesize = 20M

上傳文件的最大許可大小

(5)allow_url_fopen = off

禁止打開遠程地址

(6)post_max_size = 20M
post上傳的大小,要>=upload_max_filesize

(7);cgi.fix_pathinfo=1
默認打開,目前高版本的php已經避免了這個漏洞,php-fpmsecurity.limit_extensions 默認值早就是 .php了。所以咱們這個參數(shù)使用默認的就行。
參考:php fpm 設置項 cgi.fix_pathinfo=1 漏洞不再出現(xiàn)

關于php.ini,要設置的參數(shù)就是這些了,主要是增加程序的運行時間,增加上傳文件大小等,可以方便我們平時的php開發(fā)。

三、php-fpm設置

1、設置子進程數(shù),增加并發(fā)量

log_level = notice		//notice級別的日志,默認的 rlimit_files = 4048		//調整最大打開文件數(shù)量 pm選用動態(tài)變化的dynamic  process.max = 150		// 最大子進程,設置成和max_children一樣就行 pm = dynamic pm.max_children = 150	//最大子進程,假如一個進程30M,4G內存的話最大為:4048/30 = 135,取150 pm.start_servers = 20 pm.min_spare_servers = 6 pm.max_spare_serveres = 30    //計算公式是:min_spare_servers ≤ start_servers ≤ max_spare_servers ≤ max_children

這塊很多人都建議,如果你的內存比較大,那么設置靜態(tài)的pm = static,這個時候,起作用的只有max_children參數(shù),初始的時候就有max_children個進程,剛開始一個php-fpm進程只占用3M左右內存,我們4GB的機器按照一個進程20M計算,可以設置max_children200或者150。如果是專門的php服務器,建議是設置為靜態(tài)的,性能最佳。

如果設置成動態(tài)的也可以,這樣的話是start_servers等程序起作用,會隨著業(yè)務的增加而不斷新增進程,不過最大進程數(shù)是不能超過max_children的。博主這邊考慮到機器內存小而且機器上還跑了mysqlredis等,還是選用了動態(tài)的,這樣一開始不會有很大的壓力,等訪問量上來了,可能會修改為靜態(tài)的。

2、防止頻繁出現(xiàn)502錯誤

(1)process_control_timeout = 20

php-fpm給子進程分配的時間間隔

(2)request_terminate_timeout = 320s

表示等待320秒后,結束那些沒有自動結束的php腳本,以釋放占用的資源。設置320s主要是因為php的程序運行時間是300s,所以對于php-fpm來說,這個值應該是大于php腳本規(guī)定的運行時間的(因為php腳本的運行可能還會帶有mysql服務或者其他的一些服務,這個參數(shù)是殺掉這個進程,包括著純php腳本以及其他服務)。

(3)自動重啟設置

#表示在emergency_restart_interval所設值內出現(xiàn)SIGSEGV或者SIGBUS錯誤的php-cgi進程數(shù)如果 #超過emergency_restart_threshold個php-fpm就會優(yōu)雅重啟。這兩個選項一般保持默認值  emergency_restart_threshold = 30 emergency_restart_interval = 60s	//一分鐘內出現(xiàn)30次上述信號即重啟php-fpm

(4)pm.max_requests = 1000

每一個子進程的最大請求服務數(shù)量,如果超過了這個值,該子進程會被自動重啟。

比如max_requests這個參數(shù),如果設置很大的話,那這個子進程要運行很多次才會重啟,假如這個請求發(fā)生了錯誤或者內存泄漏,那么這個值設置很大是不合適的。但如果請求沒有問題,這個值設置小的話就會頻繁的重啟,這樣也會碰到不少502的問題,所以要仁者見仁,智者見智的設置了,這里初始化設置1000,如果測試沒有內存泄漏等問題,可以再大一些。

3、php-fpm中的慢日志設置

mysql中有慢日志這個概念,可以記錄查詢速度比較慢的sql,同樣的,php-fpm也可以開啟慢日志,記錄執(zhí)行速度比較慢的php請求,方便我們后續(xù)的調試和優(yōu)化。

(1)慢日志的主要參數(shù)

request_slowlog_timeout : 默認是注釋的,打開注釋,設置為1,代表請求超過1s,就會記錄這個腳本到慢日志文件中。也可以的更大,按照需求來。
slowlog : 默認也是注釋的,可以打開注釋使用默認的慢日志路徑,也可以自定義路徑。

這里開啟慢日志,如下:

request_slowlog_timeout = 2   # 記錄超過2s的請求 slowlog = /var/log/php-fpm/www-slow.log	#慢日志路徑

(2)利用sort/uniq命令分析匯總php-fpm慢日志:

grep -v “^$” www.log.slow.tmp | cut -d ” ” -f 3,2 | sort | uniq -c | sort -k1,1nr | head -n 50

參數(shù)解釋:

sort: 對單詞進行排序 uniq -c: 顯示唯一的行,并在每行行首加上本行在文件中出現(xiàn)的次數(shù) sort -k1,1nr: 按照第一個字段,數(shù)值排序,且為逆序 head -10: 取前10行數(shù)據(jù)

4、php-fpm中的backlog是干啥的?

如果worker進程不夠用,master進程會prefork

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
中日欧洲精品视频在线| 日韩免费毛片视频| 国产成人精品久久免费动漫| 亚洲国产精品无码久久久不卡| 国产精品 码ls字幕影视| 日韩精品视频一区二区三区| 无码人妻精品一区二区三区9厂 | 免费人妻精品一区二区三区| 国产日韩在线视频免费播放| 国产精品高清全国免费观看| 人妻互换精品一区二区| 国产精品免费网站| 亚洲精品视频免费在线观看| 蜜芽亚洲av无码精品色午夜| 久久精品隔壁老王影院| 久久er国产精品免费观看2| 亚洲精品亚洲人成在线观看| 田中瞳中文字幕久久精品| 中文精品久久久久国产网站| 久久久久这里只有精品 | 日韩成av人片在线观看| 亚欧日韩毛片在线看免费网站| 日韩电影无码A不卡| 国产精品va无码二区| 国产麻豆剧传媒精品国产AV| 精品国产一区二区三区在线 | 91精品全国免费观看青青| 久久精品女人天堂AV麻| 好湿好大硬得深一点动态图91精品福利一区二区 | 国产精品自在线拍国产手机版| 最新国产精品剧情在线SS| 香蕉视频国产精品| 中文字幕精品一二三四五六七八| 亚洲精品免费网站| 亚洲精品精华液一区二区| 亚洲中文字幕久久精品无码VA | 久久精品国产亚洲AV不卡| 二区久久国产乱子伦免费精品| 久久久久这里只有精品| 国产亚洲精品美女久久久| 国产精品毛片无遮挡|