如果只有客戶端< - >負載均衡器是HTTP/2並且實際的Web服務器不是,那麼HTTP/2的多少性能優勢會丟失?我猜這取決於負載平衡器和服務器之間的延遲和帶寬,但是如果您必須爲平均情況進行猜測,那麼它有什麼關係?是否需要端到端實施HTTP/2纔有用?
回答
如果您實現端到端的HTTP/2,您會得到兩件大事。
第一個是你的負載均衡器不需要執行任何從HTTP/2到HTTP/1.1的解析和重構,反之亦然。這考慮了負載平衡器上的延遲和CPU使用情況,以及諸如文件描述符(HTTP/1.1中必須大量使用)等資源。
其次,您將失去HTTP/2最重要的功能之一:HTTP/2 Push。 服務器能夠將相關資源推送到客戶端,但只能在端到端使用HTTP/2時使用。 根據我的經驗,HTTP/2 Push是您希望打開的最重要的功能,以減少頁面渲染時間,從而改善用戶體驗,最終帶來更多業務(如demonstrated通過幾項研究)。
我爲Jetty的HTTP/2的維護者,而我在顯示HTTP/2推的好處會議給了一個會話,你可以看相關部分here(或觀看整個會議:)
網上有很多類似的例子顯示了HTTP/2 Push的好處:例如here和here。
總之,網站在HTTP/2上端到端的「性能」應根據具體情況進行改進。 對於巨大的(基於圖像的網站或每頁有大量資源的網站),改進可能很小(例如,對於REST網站或基於文本的網站)。
對不起,但結果應該*重要取決於中間的服務器*。如果使用反向代理,**緩存從本地HTTP/1.1服務器加載的內容,那麼只有Cache-Control頭部(來自HTTP 1.1服務器)將非常重要。資源將不會從HTTP/1.1服務器重新加載,因此應該具有HTTP/2的性能。如果來自反向代理的響應具有來自HTTP/1.1的「連接」HTTP頭,那麼HTTP/2推送也應該起作用。因此,我在逆向代理方面看到大多數*實現問題*。沒有端到端的HTTP/2可能真的需要。 – Oleg
- 1. 如果我有ptty,是否需要實現終端仿真?
- 2. Android 4.0 - 需要時是否需要實施軟鍵盤?
- 3. 是否有Windows SMB客戶端打開實施
- 4. 前端SSL實施
- 5. React.js是否需要服務器端?
- 6. 是否需要關閉JAX-WS端口?
- 7. JAX-WS客戶端:JAXB是否需要?
- 8. bash漏洞利用(CVE-2014-6271)是否需要終端訪問才能使用?
- 9. 我是否需要啓用SQL 2005上的Service Broker端點才能使用SQLCacheDependency?
- 10. 需要實施recaptcha
- 11. HAProxy的與HTTP2前端和後端HTTP1.1
- 12. 我是否需要許可證才能從Visual Studio社區實施軟件?
- 13. HTML5:我是否需要在客戶端和服務器端驗證Webform,還是隻需要客戶端?
- 14. 客戶端是否需要爲sFTP打開端口號爲
- 15. 我們是否需要前端和後端的SSL證書?
- 16. 是否需要生成java類才能使用spring-ws客戶端
- 17. TCP客戶端是否需要打開端口才能連接到外部服務器?
- 18. 使用Firebase時,是否需要實施SwipeToRefresh?
- 19. 是否需要爲付費應用程序實施許可API?
- 20. IdentityServer4 UserInfo端點實施?
- 21. 是否有perl實施SHA256withRSA
- 22. Http2需要PageSpeed模塊?
- 23. 谷歌的谷歌架構實施的端到端示例
- 24. IPropertyStore_Commit方法 - 它是否需要,爲什麼不實施?
- 25. Twilio客戶端調用實施
- 26. 實施前端用戶登錄
- 27. 我是否需要使用.quit()退出節點的redis客戶端實例?
- 28. Facebook畫布應用是否需要提供非安全端點?
- 29. 我是否需要將端口註冊爲與ICANN「使用中」?
- 30. 客戶端使用WCF服務是否需要接口定義?
Web服務器中設置的HTTP標頭('Cache-Control'和'Link')對於最終的性能可能非常重要。你使用什麼負載平衡器? – Oleg