linux 伺服器負載很高,緣由貌似是 php進程過多,而且一直保持 400多

來源:互聯網
上載者:User

linux 伺服器負載很高,緣由貌似是 php進程過多,而且一直保持 400多 ,有圖所示,php-cgi 進程數一直是不降的,沒有使用者訪問網站也是這麼多,每個進程大概佔用記憶體150-200M左右,16G記憶體有時候會阻塞。求大牛幫忙。,負載有時候會達到頂峰,前無古人後無來者,120 負載,cpu 跑滿。求教

回複內容:

linux 伺服器負載很高,緣由貌似是 php進程過多,而且一直保持 400多 ,有圖所示,php-cgi 進程數一直是不降的,沒有使用者訪問網站也是這麼多,每個進程大概佔用記憶體150-200M左右,16G記憶體有時候會阻塞。求大牛幫忙。,負載有時候會達到頂峰,前無古人後無來者,120 負載,cpu 跑滿。求教

可以考慮用fastcgi.
http://php.net/manual/en/install.fpm....

這麼多的進程數load值很高也是可以預見的,建議還是查下PHP執行過程中的效能瓶頸究竟在哪。

mod_php是和apache同步執行的, 如果fastcgi的話, 伺服器(一般nginx)和php之間是非同步關係, 在某些情況下可以無需那麼多php進程

打個比方, 如果一個使用者用龜速上傳一個檔案, 那麼apache和apache裡面的那個php就在等待這個使用者上傳完成, 所以系統裡面就需要更多的apache進程來應對並發

如果非同步執行, 那麼nginx在處理使用者的上傳, 一旦使用者上傳檔案完成, 傳給php處理只是一瞬間的事情.

當然有時候fastcgi也不一定能解決問題, 比如php在等待一個sql查詢, 這個查詢花了5秒, 那麼5秒之內有新使用者來訪, 這個php就不能出門歡迎, 所以必須新開一個php進程

所以查一查你的php執行要花多久, 再看一看自己的訪問量, 綜合的去找原因並想辦法解決吧

每個php進程都是很費記憶體的,建議根據伺服器配置做適當調整,修改fastcgi設定檔或php-fpm設定檔,一般100個內對於大部分情境就夠用了,再多就要考慮做任務調度或者訊息佇列處理了

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.