Skip to content

記憶體佔用測試 ​

測試一 ​

測試內容 ​

soga 對 VMess MD5 認證資訊的資料結構記憶體最佳化

測試說明 ​

VMess MD5+VMessAEAD認證,多名使用者,alterId 均為0

測試環境 ​

Ubuntu 20.04,4核8G,無 swap

測試方法 ​

新增10000名使用者,啟動後靜置10分鐘,計算記憶體佔用

測試資料 ​

程式記憶體佔用記憶體百分比(取原版最低值為100%)
soga(v2.5.3),預設設定193MB46%
soga(v2.5.3),設定v2ray_reduce_memory=true118MB28%
v2ray(v4.41.1)424MB100%

測試二 ​

測試內容 ​

模擬實際使用者的使用情況,測試 soga 對大量連線的記憶體最佳化

測試說明 ​

VMess+MD5+VMessAEAD認證,websocket傳輸模式,1名使用者,alterId 為0

測試環境 ​

Ubuntu 20.04,4核8G,無 swap

測試方法 ​

用戶端->代理程式->伺服器端(模擬網站)

  1. 使用用戶端透過代理建立多條連線至伺服器端,用戶端在每條連線中每秒隨機傳送4KB~16KB的封包至伺服器端,伺服器端在每條連線中每秒隨機傳送4KB~16KB的封包至用戶端
  2. 每條連線隨機持續30~120秒後關閉,每關閉一條連線後會立刻建立新連線,保持正在執行的連線總數不變
  3. 連續執行 10 分鐘後,記憶體佔用基本趨於穩定,此時統計佔用的記憶體
程式記憶體佔用(1000條連線)記憶體百分比(取原版最低值為100%)
soga(v2.5.3),預設16KB連線快取179MB55%
v2ray(v4.41.1),預設設定1203MB368%
v2ray(v4.41.1),16KB連線快取380MB116%
v2ray(v4.41.1),停用連線快取327MB100%
xray(v1.4.2),16KB連線快取416MB127%
xray(v1.4.2),停用連線快取391MB120%