過量使用AJAX會影響性能嗎?在大型Web應用程序的情況下,您如何處理AJAX請求以控制異步請求?Ajax是否會降低性能?
回答
多餘使用任何東西會降低性能;在必要時使用AJAX可以提高性能,特別是如果替代方案是服務器的完整整頁往返[asp.net術語中的'回傳']
AJAX本身(被異步請求)..不一般。
但是,如果您有大量的javascript和標記,並且有大量數據通過您的xmlhttprequests傳輸,那麼您可以看到性能受到影響。這真的取決於你希望你的網站如何運作,如果雕刻正確,任何降級通常都是可以避免的。
Ajax只是一個普通的HTTP請求,因爲你的服務器可以處理這些請求,這不會是一個問題。 Ajax的好處在於用戶更快感受到性能,因爲該頁面不必爲每個用戶操作重新加載和重繪。
如果可擴展性是一個問題,我相信您也正在考慮通過向服務器場添加更多Web服務器來水平擴展系統。無論如何,即使是非Ajax的網絡應用也一樣。
如果網站很繁忙,那麼它最終會殺死服務器,除非你在農場。 至於網站本身,它不應該。
AJAX,像任何技術一樣,根據具體情況以及如何實施,可能是件好事或壞事。如果您對異步過程有特殊需求,那麼它是一個很好的工具。但是,如果你不負責任地使用它,你可能會陷入困境。如果您確實使用它,請嘗試找到一個很好的框架,以完成大部分繁重工作,並瞭解AJAX的一些不足之處... http://learningremix.net/w2007integ/vangoori/2007/01/the_downsides_of_ajax.shtml
表現什麼?我假設你的意思是用戶體驗方面的應用程序性能。
Ajax看起來最擅長的是僅在需要時才引起網絡流量。一次下載Honkin'偉大的網頁,而不是以儘可能快的方式下載需要的東西。
然後,如果你做了一些需要更多信息的東西,它就會從網絡中獲取。
這意味着永遠不會下載未使用的東西(如果您設計正確,當然 - 錯誤代碼可以像其他任何環境一樣在Ajax中編寫)。
我更喜歡將數據傳輸的Ajax方法和像jQuery這樣的客戶端庫混合使用,以獲得非常好的界面。
根據具體情況,AJAX可能會產生性能開銷,或者實際上可能比不使用AJAX的等功能網站具有更好的性能。
過度使用AJAX可以很容易地讓服務器承載大量繁瑣的請求,並且也可能成爲客戶端CPU的負擔。相反,AJAX也可以用來傳遞HTML和其他代碼的小部分,而不是每個請求的整個頁面,這至少會減少服務器的負擔。
這個故事有兩個方面。
AJAX通常會從客戶的角度來提高性能。不是加載整個頁面,而是在需要時從服務器請求較少量的數據。鑑於HTML頁面經常引用許多依賴文件(圖像,CSS,JavaScript等),每個文件都需要從服務器(或緩存)中獲取命中),因此,明智地使用AJAX可以提高客戶端的性能。
在服務器端,問題變成了需要管理更多連接的問題。輪詢應用程序(特別是瀏覽器內聊天)可能真的開始增加服務器的負載,因爲瀏覽器現在更快速地訪問服務器。在一個典型的動態應用程序中(響應是由代碼而不是靜態文件產生的),你可能會開始遇到問題 - 但這些通常是平衡的,因爲你的請求的複雜性往往要低得多(再說一次,你沒有不會生成整個頁面,而是生成頁面的一小部分),因此您的平臺在任何情況下都可能獲得更高的吞吐量。
任何性能問題的確切結果將取決於許多因素,包括當時的服務器,平臺,框架和主要的高潮條件。
我最終的建議 - 着力打造良好的用戶體驗,智能的開發,收集儘可能多的指標,您可以和優化,當你知道你需要它。
我同意在這裏的不少其他職位。如果你以智能的方式使用它(即,每30秒不使用ajax),那就沒問題。我在我的網站上使用ajax(並且還有一個js免費版本),並且從客戶的角度來看,ajax版本可以從幾乎相同的速度加載到四倍的速度。這完全取決於網站的設計(圖形和其他內容)以及您正在更新的內容。
不足之處在於,由於您必須加載一些框架(即使您創建了自己的框架),您將會對第一頁的負載稍微慢一些,或者進行任何完全刷新,並且會增加處理加載了一下。但是,這只是因爲阿賈克斯提高了生產力,因此用戶可以提出更多請求/更新
- 1. log.debug是否會降低性能
- 2. #defines是否會降低性能?
- 3. SmtpClient.SendAsync是否降低或提高性能?
- 4. 向MySQL引入外鍵是否會降低性能
- 5. Java安全管理器是否會降低性能?
- 6. 嵌套select子句是否會降低數據庫性能?
- 7. 事務塊是否會降低SQL Server的性能?
- 8. 生活時間(ttl)是否會影響或降低性能?
- 9. Vim滾動性能是否會降低垂直分割窗口的性能?
- 10. CCSprite降低性能
- 11. 增加塊大小會降低性能
- 12. elasticsearch使用random_score會降低性能
- 13. 降低AWS EFS的性能
- 14. 分頁的地址轉換是否會降低內存訪問性能?
- 15. 導入模塊(但不使用它)是否會降低Python的性能?
- 16. 在腳本語言中調用shell命令是否會降低性能?
- 17. 是否繼續打印某些值會降低並行處理的性能
- 18. n層體系結構是否會降低應用程序性能
- 19. 觸發器是否會降低性能?插入和刪除表格?
- 20. 將大型數組傳遞到類時是否會降低性能?
- 21. SQL查詢中的unicode字符是否會導致數據庫性能降低?
- 22. 是否添加了許多方法來降低性能?
- 23. 它是否可以提高性能並降低級別類型?
- 24. 反向代理會降低AJAX
- 25. 降低MySQL性能的持久性
- 26. setInterval能否大幅降低瀏覽器性能?
- 27. 降低python降價能力
- 28. 降低複雜性
- 29. 爲什麼-Xrs降低性能
- 30. 堅持性能逐漸降低
這太含糊了。影響什麼表現?什麼ajax? – SCdF 2008-09-19 04:12:53