伺服器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幾...