2012-04-10 50 views
0

我已經在AWS微型實例上的apache上設置了一個django網站。我有一個使用apache的/ var/www託管的Twitters bootstrap設計的靜態網頁。當我將該頁面移植到django時,我發現apache需要更長時間才能提供該頁面。我正在使用mod_wsgi來託管應用程序,並使用apache來提供靜態文件(css,圖像等)。有沒有其他的方式來加快網站的加載速度,還是有其他更適合Django網絡應用程序的服務器?Django網站加載速度緩慢,託管在Apache上,使用mod_wsgi,以任何方式使其更快?

+0

有沒有人嘗試上比Apache其他服務器託管的Python/Django的應用程序? – viper 2012-04-10 15:59:07

+0

嘗試uWSGI + Nginx – okm 2012-04-10 16:49:34

+0

發佈您如何配置Apache。什麼是MPM,無論是使用mod_wsgi守護進程還是工作模式。很可能你使用的是一種配置,導致Apache不得不頻繁啓動新的Apache進程,從而放慢速度。最重要的是,你的應用程序本身很慢。 – 2012-04-11 01:19:59

回答

2

通常,任何需要執行/解釋代碼的代碼都會比完全靜態的頁面慢。

有些事情要考慮:

  • 你有一個數據庫後端到這個網頁?如果是這樣,你應該確保一切正確索引。

  • 是否有很多正在執行的Python代碼?你在做什麼可以優化的東西?

如果您只是渲染模板,它仍然會很昂貴,因爲模板必須通過Django渲染引擎運行。我的建議是緩存任何你可以的靜態資產。像這樣的庫可能會幫助:https://github.com/peterbe/django-static

+0

你也可以考慮[緩存任何昂貴的評估](https://docs.djangoproject.com/en/dev/topics/cache),並確保你有足夠的服務器運行併發訪問。 – Dougal 2012-04-10 15:38:06

+0

我在後端有一個數據庫,但我沒有爲這個頁面提取任何數據。至於Python代碼,我只是渲染模板,替換STATIC_URL變量。 – viper 2012-04-10 15:48:27

+0

添加到我的答案 – 2012-04-10 16:05:31

相關問題