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

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

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

負(fù)載一直都很高
clipboard.png
這是php日志

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

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

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

D 狀態(tài):uninterruptible sleep

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

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

參考:

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

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

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

重寫能造成的負(fù)擔(dān)很小,可以忽略, 但你的截圖有點問題, 是不是請示結(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ù)對應(yīng)一個特定的中斷自系統(tǒng)啟動以來所發(fā)生的次數(shù)。
“ctxt”給出了自系統(tǒng)啟動以來CPU發(fā)生的上下文交換的次數(shù)。
“btime”給出了從系統(tǒng)啟動到現(xiàn)在為止的時間,單位為秒。
“processes (total_forks) 自系統(tǒng)啟動以來所創(chuàng)建的任務(wù)的個數(shù)目。
“procs_running”:當(dāng)前運行隊列的任務(wù)的數(shù)目。
“procs_blocked”:當(dāng)前被阻塞的任務(wù)的數(shù)目。

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

2018年6月22日 17:22