基準測試:HTTP/3 有多快? - requestmetrics
為了瞭解 HTTP/3 產生什麼樣的效能差異,需要一個基準測試設定。
為了更接近實際使用情況,測試設定由三個場景組成 - 一個小站點、一個內容豐富的站點(大量影像和一些 JS)和一個單頁面應用程式(在 JS 上很重)。我檢視了幾個真實世界的站點,並對每個站點的影像和 JS 檔案的數量求平均值,然後編寫了一些與這些資源數量(和大小)匹配的演示站點。
HTML
- 小型站點
- 10 個2kb 到 100kb 的 JS 檔案
- 從 1kb 到 50kb 的10張影像
- 總有效載荷大小600kb,總共 20 個阻塞資源
- 內容站點
- 50 個2kb 到 1mb 的 JS 檔案
- 55張大小從 1kb 到 1mb 的影像。
- 總有效負載大小10MB,總共 105 個資源(有時在開發工具中檢視 cnn.com,您會明白為什麼它如此之大)
- 單頁應用程式
- 從 2kb 到 1mb 的85 個JS 檔案
- 30張大小從 1kb 到 50kb 的影像。
- 總有效負載大小15MB,總共 115 個資源(有時在開發工具中檢視 JIRA)
伺服器
Caddy用於提供所有資產和 HTML。
- 提供所有響應Cache-Control: "no-store"以確保瀏覽器每次都會重新下載。
- TLS 1.2 用於 HTTP/1.1 和 HTTP/2
- TLS 1.3用於 HTTP/3。
- 為所有 HTTP/3 連線啟用了0-RTT
客戶端
讓瀏覽器自動連續請求同一頁面 20 次,在頁面載入後等待 3 秒開始下一個請求。網際網路連線的額定速度為 200mbps。資料捕獲時,計算機上沒有執行其他應用程式。
測試地點
測試是從我在明尼蘇達州的計算機到由 Digital Ocean 託管的三個獨立資料中心進行的:
- 美國紐約,相比Http2:
小型站點快200 毫秒
內容站點快325 毫秒
單頁應用程式快300 毫秒
- 倫敦,英國,相比http2:
小型站點快600 毫秒(與紐約相比,速度提高了3 倍)
1200ms(以上為內容網站更快的3.5倍與紐約相比的加速)
單頁應用程式快1000 毫秒(與紐約相比,速度提高了3 倍以上)
- 印度班加羅爾:當涉及更大的地域和更多的網路躍點時,HTTP/3 繼續領先。也許更引人注目的是 HTTP/3 的響應時間分組的緊密程度。當資料包傳輸數千英里時,QUIC 會產生很大的影響。
結論
在任何情況下,HTTP/3 都比HTTP/2更快!
為什麼 HTTP/3 這麼快?
- 真正的多路複用
HTTP/3 真正的多路複用特性意味著堆疊中的任何地方都不會發生行頭阻塞。當從更遠的地方請求資源時,在地理上,資料包丟失的可能性要高得多,並且 TCP 需要重新傳輸這些資料包。
- 0-RTT 是遊戲規則的改變者
此外,HTTP/3 支援O-RTT QUIC 連線,這降低了與伺服器建立安全 TLS 連線所需的往返次數。
相關文章
- hadoop基準測試_Hadoop TeraSort基準測試Hadoop
- 高通SNPE - 基準測試概述(3)
- 基準測試
- TGI 基準測試
- benchmark 基準測試
- MinkowskiEngine基準測試
- MYSQL 效能測試方法 - 基準測試(benchmarking)MySql
- rewrk一個更現代的http框架基準測試實用程式HTTP框架
- [轉帖]sysbench基準測試
- 【基準測試】BenchmarkDotNet介紹
- MySQL學習 - 基準測試MySql
- JMH- benchmark基準測試
- postgresql:pgbench基準效能測試SQL
- Lettuce和Jedis的基準測試
- ubuntu 快速測試 cpu 基準水平Ubuntu
- Linkerd和Istio基準測試 - linkerd
- 一、測試基礎(3)
- 技術基礎 | Apache Cassandra 4.0基準測試Apache
- 公有云RDS-MySQL基準測試MySql
- 使用 JMH 做 Kotlin 的基準測試Kotlin
- 資料庫基準測試工具 sysbench資料庫
- Go 語言基準測試入門Go
- 利用sysbench進行MySQL OLTP基準測試MySql
- 【總結】簡述 MySQL 基準測試工具MySql
- [總結] 簡述 MySQL 基準測試工具MySql
- Java基準效能測試--JMH使用介紹Java
- OPPO R17 Pro快速充電測試:SuperVOOC超級閃充回血有多快?
- 基於Dubbo的http自動測試工具分享HTTP
- 精準測試
- 應用上雲可以有多快?
- MySQL效能基準測試對比:5.7 VS 8.0MySql
- 基於 AI 大模型的精準測試分享AI大模型
- VMmark 4.0.1 - 虛擬化平臺基準測試
- Python 3.11效能基準測試看起來很棒 - PhoronixPython
- 軟體測評中心▏軟體產品測試的准入準出標準有哪些?
- 基於TPC-C基準的Python ORM的效能測試PythonORM
- HTTP/3 終於成為標準 - itnewsHTTP
- 測試標準1