php fpm併發優化

2021-06-18 04:34:16 字數 812 閱讀 3944

伺服器lnmp環境安裝好後,沒有進行配置優化,就採用的預設配置。最近開始推廣,突然就遇到效能問題了。

主要症狀是:

1.有時第一次連線的時候很慢,連線上後就很快。

2.採用qq登入,會變得很慢。然後其它人訪問也會變得很慢。

初步分析原因是:

首先排除cpu和記憶體瓶頸的問題:

1.預設配置,只啟動了兩個php-fpm程序。

2.每次採用qq登入時,之前的**是採用的file_get_content方式去呼叫qq的api,經常qq那邊會響應很慢,這樣就導致php-fpm程序一直在等待file_get_content。所以極端情況有兩個使用者使用qq登入,可能會造成僅有的兩個php-fpm程序耗著。就沒法接受新的使用者請求。所以突然會很慢。

優化:1.修改**,採用curl方式,並且設定連線的超時時間。

2.優化php-fpm.conf的配置

主要是調整pm.max_children,pm.start_servers,pm.min_spare_servers,pm.max_spare_servers引數。

基本上就可以初步解決上面的問題了。以後遇到問題再繼續做優化。

補充:1.顯示程序記憶體佔用率並進行排序

ps auxw --sort=rss 或者

ps aux | sort -k6,6n

2.檢視內用使用率

free -m 或者free -g

有時由於記憶體快取,會顯示記憶體佔用率很高,但是ps後看到沒有那個程序的記憶體占用很高,此時可以先清除記憶體快取。

清除記憶體快取:

echo 1 > /proc/sys/vm/drop_caches

php fpm優化方法

php fpm優化方法 php fpm存在兩種方式,一種是直接開啟指定數量的php fpm程序,不再增加或者減少 另一種則是開始時開啟一定數量的php fpm程序,當請求量變大時,動態的增加php fpm程序數到上限,當空閒時自動釋放空閒的程序數到乙個下限。這兩種不同的執行方式,可以根據伺服器的實際...

PHP FPM效能優化參考

php fpm.conf有兩個至關重要的引數 乙個是 max children 另乙個是 request terminate timeout 我的兩個設定的值乙個是 40 乙個是 900 但是這個值不是通用的,而是需要自己計算的。計算的方式如下 如 果你的伺服器效能足夠好,且寬頻資源足夠充足,php...

php fpm配置引數優化

常用的linux 查詢程序狀況命令 從下圖可以看出當前php fpm所有程序平均每個程序占用了60 70mb的記憶體,啟動時間,是當天的話就是3 12,否則會顯示是x月x日。php fpm.conf就是php fpm的配置檔案,路徑一般在 usr local php etcphp fpm.conf幾...