3
我在Apache上運行Django站點,並且在一段時間不活動(大約1小時)後,初始頁面加載速度非常緩慢。我可以通過離開一個小時或彈回服務器來進行復制。初始加載後,頁面在< 1秒內一直加載。Django網站在重啓或不活動期間加載非常緩慢
我假設(猜測)的問題是Python解釋器+ Python模塊在這些不活動期間後再次加載到內存中?
我已經關注了http://blog.dscpl.com.au/2009/03/load-spikes-and-excessive-memory-usage.html,並且正在運行mod_wsgi處於守護程序模式。
服務器配置:
Timeout 20
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 15
ServerLimit 10
<IfModule mpm_prefork_module>
StartServers 2
MinSpareServers 2
MaxSpareServers 2
MaxClients 4
MaxRequestsPerChild 0
</IfModule>
...
WSGIDaemonProcess django display-name=%{GROUP}
WSGIScriptAlias//path/to/osqa.wsgi process-group=django application-group=%{GLOBAL}
是什麼明顯的錯誤與上面的配置,或者是有沒有辦法保存在內存Python解釋?
也許這是一個完全不同的問題?
感謝
你可以發佈運行'top'命令的輸出嗎? 你可以發佈error_log.txt文件的輸出嗎? 如果問題在等待大約一個小時後重現,您應該這樣做,並根據您的操作系統運行「ps -C python」,看看python實際上是否仍在運行。 如果沒有更多的症狀/信息,很難診斷問題。 –
您是否正在使用緩存(memcached ..),因爲可能它只是現在您的網站已關閉緩存已清除,您現在觀察的是正常頁面加載不緩存,並且速度您之前正在進行實驗,是因爲緩存優化?!你可以通過(在你的網站恢復正常之後)清除你的緩存(而不是關閉你的網站)並查看差異來了解我的假設是否正確,當然如果你是從一開始就使用緩存框架的話: ) – mouad
凱文。這不會有什麼幫助,因爲在mod_wsgi下,'python'可執行文件不會直接運行來執行任何操作。因爲他們使用了display-name選項,所以使用鏈接Python解釋器的mod_wsgi守護進程實際上被稱爲'(wsgi:django)'。他們可以檢查,但配置是這樣的,它應該在那裏。 –