我正在開發一個SPA,並發現自己需要在加載某些部分時觸發幾個(5-10 +)ajax調用。使用web2py,似乎很多人都在等待其他人完成或接近完成以獲取任何返回的數據。有沒有一種方法可以防止Ajax調用在web2py中依次觸發?
這裏列出一些Chrome的時間表輸出的
這裏綠草表示時間花費在等待一個例子,灰色表示時間停滯,透明表示時間排隊,和藍色表示實際接收的內容。
這些都是通過web2py控制器的請求,大多數只是做一個簡單的操作(通常是數據庫查詢)。任何訪問靜態資源的東西似乎都不會很快被處理。
爲了記錄,我在cookies中使用了會話,因爲我確實瞭解了基於文件的會話如何強制web2py進入類似的行爲。我還在任何不修改會話的控制器的頂部調用session.forget()。
我知道我可以和我打算通過減少ajax調用的次數來優化這一點,但我發現這種行爲很奇怪並且不受歡迎。還有什麼可以改善這種情況嗎?
我們嘗試切換到HTTP/2,雖然某些實現(IIS)比其他實現(nginx和uwsgiemperor)快得多,但請求的形狀保持不變。即Chrome中的時間線輸出仍然看起來像一個階梯,因爲每個請求都會連續返回。還有什麼我們可以看看? [示例](http://i.imgur.com/55qoXfg.png) – mattjn
在新示例中,它看起來好像是同時觸發請求,但服務器一次只能處理一個或兩個以上的請求。在您的Web服務器配置中,您指定了多少個進程/線程。您可能需要配置更多的工作人員,以便可以同時處理多個請求。 – Anthony