你的 AI 閘道器表現如何?
本文透過三個關鍵時刻(首 token 延遲、高峰併發、工具呼叫)對比了 Highflame、Bifrost 和 LiteLLM 三種 AI 閘道器的效能。Highflame 在各項測試中表現最佳,幾乎不增加延遲,能處理高併發,且記憶體佔用低。Bifrost 因緩衝導致首 token 延遲,LiteLLM 在高負載下效能急劇下降。文章還提到了 MCP 工具呼叫場景下 Highflame 的優勢。
在 AI 模型的生產環境中,閘道器已成為必不可少的元件。它統一路由、管理 API 金鑰、監控用量並掃描流量。但閘道器位於每次請求的路徑上,其效能直接影響使用者體驗。本文透過三個關鍵指標測試了三種閘道器:Highflame(Rust)、Bifrost(Go)和 LiteLLM(Python)。
第一時刻:首 token 延遲 使用者等待首 token 的時間決定了應用是否“卡頓”。模型本身約需 300ms 生成首 token。Highflame 僅增加約 2ms,在 100 併發下仍保持 307ms,與直連模型無異。Bifrost 預設緩衝整個響應,直到模型完成才釋放,導致首 token 延遲增加 1.3 秒,使用者感覺應用凍結,儘管令牌一直在流動。LiteLLM 在 10 併發時表現尚可,但每令牌處理開銷隨負載累積,在 50 併發時增加約 350ms,在 100 併發時首 token 延遲中位數飆升至 6.3 秒,總響應時間從 1.6 秒延長至 7.7 秒。
第二時刻:高峰併發 真實場景中大量對話同時進行。測試模擬 5000 個併發會話,每個等待 2 秒模型響應,持續五分鐘。Highflame 處理了全部 572,563 個請求,成功率 100%,p99 為 3.3 秒,記憶體佔用 733MB。Bifrost 同樣 100% 成功,但記憶體需求翻倍至 1.5GB。LiteLLM 僅處理了 30% 的請求,倖存者中位等待 6.2 秒,p99 達 26.7 秒,70% 的請求丟失。在低併發(100 會話)時三者均能勝任,但到 500 會話時 LiteLLM 中位延遲已超出模型自身 2 秒。差異在於你計劃增長的規模,而這正是手動測試時容易忽略的。
第三時刻:工具呼叫 對於 MCP 工具呼叫,Highflame 是唯一能透明代理的閘道器。在 10 併發下增加 17ms,100 併發下增加 181ms(主要為排隊延遲),吞吐量達 260 次/秒,成功率 100%。在極限測試中,單例項四核可處理 6,800 次/秒(瞬時峰值 8,200),而直接連線工具伺服器在相同負載下僅 1,526 次/秒且崩潰,因為 Highflame 透過連線池複用下游連線。面對 200ms 工具時,理論極限 5,000 次/秒,實測 4,832 次/秒。MCP 代理也是治理點:認證、Cedar 策略、Shield 掃描均在此執行。
部署與選型 Highflame 啟動僅 25MB,高峰記憶體 733MB,適合作為邊車部署。而 LiteLLM 啟動即佔 486MB,效能卻差強人意。選擇閘道器時,應關注首 token 延遲、高峰處理能力和工具呼叫開銷。Highflame 在這三項上均表現出色:首 token 幾乎無感,高峰無丟包,工具呼叫開銷極低。