0
我運行的FastCGI服務器上Nginx的基於Django的網站。該網站通常效果很好。但每隔2-3天,該網站就會遇到未知問題,並停止響應任何請求。跟蹤的Django/FastCGI程序錯誤
穆寧圖表顯示了IO塊中讀取的問題期間每秒&寫入增加500%。
我也寫了一個python腳本記錄以下統計數據每隔一分鐘。
Load Averages
CPU Usage (user, nice, system, idle, iowait)
RAM Usage
Swap Usage
Number of FastCGI Processes
RAM Used by FastCGI Processes
記錄顯示問題期間,FastCGI進程的數量加倍(從正常值10-15到25-30)。而FastCGI進程的內存使用量也增加了一倍(從服務器總數的17%到35%)。內存使用量增加需要使用更多的交換,以便減慢磁盤IO使服務器無響應。
FastCGI的參數我用:
maxspare=10 minspare=5 maxchildren=25 maxrequests=1000
我想這個問題是由於我的網站的某些部分寫得不好的Python代碼。但我只是不知道如何找出代碼的哪一部分凍結了現有的FastCGI進程並分叉新的實例。
設置在Django的runfcgi命令超時真可謂是不平凡的,但它是在盒子的好工具。 – 2013-02-04 01:09:59