2009-11-27 34 views
0

我有一個在Django開發的封閉測試版的網站,它使用Debian上的Mysql運行。測量性能 - 使用真正的點擊與「ab」命令

在過去的幾天裏,主頁一直在放緩。每10次點擊一次,其中一次或兩次的響應速度非常緩慢(10秒或更長),其他時間與以前一樣快。

當我正在尋找這個問題,我就遇到了這個問題,我無法把握:

top命令表明,當我請求主網頁,MySQL的射門高達90% - 100%的CPU使用率。就像CPU使用恢復正常一樣,我得到頁面。所以,我想,這是db。

然後我打電話ab參數-n 1000 -c 5,我得到了不錯的表現,大約每秒100頁,就像在放緩之前一樣。我想會有更糟糕的表現,因爲10-20%的請求需要10秒才能加載。

這是ab和「真正」點擊之間的衝突正常,還是我在錯誤的配置中使用ab?

+0

你有沒有試過MySQL的慢查詢日誌記錄?你是否介紹了應用程序? – 2009-11-27 13:03:36

+0

不,還沒有。其實我並沒有問及減速的原因(不過我可能不久),我只是好奇爲什麼減速不會反映在ab的輸出中。 – shanyu 2009-11-27 13:08:03

+0

例如,它可能在代碼中取決於用戶正在登錄的某處。 – 2009-11-27 13:17:05

回答

0

ab不會執行頁面的很多部分(即javascript),所以您會注意到可能在Web服務器的壓力上有明顯差異。

+0

感謝您的回答。然而,放緩並不是源於加載或執行javascript(js文件是壓縮的,版本化的,並且具有遠期到期日)。 – shanyu 2009-11-27 13:30:31

+0

但是,當在客戶端執行時,javascript是否會對Web服務器(即ajax)進行其他調用? – Ass3mbler 2009-11-27 13:33:10

+0

不,我的基準測試頁面上沒有ajax。值得一提的是瀏覽器在等待服務器時凍結(大約10秒),然後非常快速地獲取並渲染頁面。 – shanyu 2009-11-27 13:39:33