鍍金池/ 問答/PHP  Linux/ LNMP服務器,我部署在docker中,但服務器負載很高,幫我分析下?

LNMP服務器,我部署在docker中,但服務器負載很高,幫我分析下?

clipboard.png
上面這張圖顯示speed只有56 page/min

負載一直都很高
clipboard.png
這是php日志

clipboard.png
都是get /index.php
是不是nginx重寫也會增加服務器負載的

回答
編輯回答
離觴
  1. 和docker沒什么關系
  2. 訪問都是index.php是因為index.php是入口
  3. 重寫增加不了多少負載
  4. 建議你運行的時候看開top看復雜,如果是php-fpm復雜大,那就是php程序需要優(yōu)化了
2018年4月25日 23:45
編輯回答
醉淸風

同意樓上說法,很有可能跟 php-fpm 有關,
大量的 php-fpm 處于 D 狀態(tài)。

D 狀態(tài):uninterruptible sleep

進程為什么會被置于uninterruptible sleep狀態(tài)呢?

處于 uninterruptible sleep 狀態(tài)的進程通常是在等待 IO ,比如磁盤 IO ,網(wǎng)絡 IO ,其他外設 IO。如果大量進程處于此狀態(tài),可以檢查一下是不是相關的 IO 設備出問題了,或者是程序里的 IO 操作有問題,比如:log 服務。

參考:

2018年4月18日 20:57
編輯回答
夢若殤

很多php-fpm進程是狀態(tài)D,估計是在等硬盤IO,你查一下硬盤看看。

2017年4月6日 10:44
編輯回答
糖豆豆

重寫能造成的負擔很小,可以忽略, 但你的截圖有點問題, 是不是請示結(jié)束了才運行的top吧?
重啟機器,運行前,中,后分別用
cat /proc/stat
記錄一下輸出

$ cat /proc/stat
cpu 520529 3525 658608 3500749 210662 6650 29698 0 0
......

cpuN的含義從左到右分別是:user、system、nice、idle、iowait、irq、softirq,具體含義可以看文檔。
下面還會有幾行輸出.
在下面幾行中:
“intr”這行給出中斷的信息,第一個為自系統(tǒng)啟動以來,發(fā)生的所有的中斷的次數(shù);然后每個數(shù)對應一個特定的中斷自系統(tǒng)啟動以來所發(fā)生的次數(shù)。
“ctxt”給出了自系統(tǒng)啟動以來CPU發(fā)生的上下文交換的次數(shù)。
“btime”給出了從系統(tǒng)啟動到現(xiàn)在為止的時間,單位為秒。
“processes (total_forks) 自系統(tǒng)啟動以來所創(chuàng)建的任務的個數(shù)目。
“procs_running”:當前運行隊列的任務的數(shù)目。
“procs_blocked”:當前被阻塞的任務的數(shù)目。

重點關注下iowait 看看不是這方面的問題,令外查一下不是網(wǎng)絡請求(如數(shù)據(jù)庫連接問題)的時間

2018年6月22日 17:22