我正在研究一個Web應用程序,並且我正在使用輪詢方法來檢查是否需要更新。這些輪詢請求每隔1或2秒發生一次。如果不需要更新(在這種情況下返回一個空的響應)和大約10 KB(它是內容本身的大小),則響應的大小爲240個字節。我的問題是,由於它每秒至少返回240 B,有沒有辦法通過將邊界推得更多來優化這個響應?減少響應大小
當我檢查響應的內容時,我看到50個字節對我來說很重要(會話ID和狀態碼)。但是,頭文件中有一些信息,例如連接類型,超時和內容類型。對於這種類型的每個請求,這些設置都是相同的(即它總是要求內容類型爲:「text/html; carset = utf-8」)。那麼,我可以在客戶端假設這些設置,並阻止服務器發送這些頭信息嗎?
我在服務器端使用django和jQuery發送ajax請求的方式。此外,任何類型的推送技術現在都不存在問題。
我檢查了長輪詢。這似乎是合理的。但是,當你一直忙着睡覺時,它不會導致服務器端的超載。我對服務器上的性能問題沒有太多的瞭解。 – Hgeg 2012-03-24 09:30:53
假設你使用time.sleep(2)這樣的休眠機制,它的性能不會比普通輪詢低。它實際上應該節省CPU時間 - 但它可能會在主機上消耗更多的內存,因爲每個請求線程都在內存中的時間更長。這對你的應用程序是否有意義取決於你的具體情況以及你有多少用戶。但是,它一定會節省帶寬。 – 2012-03-26 17:29:42