負載測試:玩家配置文件和流量峰值
1)為什麼要模擬輪廓而不是「平均溫度」
iGaming負載具有很高的爆炸性:促銷/錦標賽/流產生RPS爆發的倍數,並且動作分布不均勻(login→depozit→stavki/vyvod)。測試必須反映細分市場(初學者,VIP,「獎金獵人」,移動)的行為,否則您將獲得「綠色圖形」和紅色事件。
關鍵SLO(30天示例):- 登錄:成功率≥ 99。9%,p95 ≤ 250毫秒
- 存款:成功率≥ 99。85%,p95 ≤ 400毫秒
- 投註(WS):p95消息RTT ≤ 120毫秒,disconnect rate ≤ 0。5%
- 遊戲啟動:成功≥ 99。8%,p95 ≤ 800毫秒
2)玩家簡介(行為場景)
A. Newbie(新玩家)-高峰流量的25-40%
路徑: 註冊→登錄→查看促銷→存款(少量)→啟動1-2個插槽
特點: 高比例的UX錯誤、轉發付款、跨頁跳躍
B. Regular(退款)--40-50%
路徑: 登錄→快速存款/無存款→ 3-5場比賽→罕見退出
功能: 穩定的會話,敏感p95> 200毫秒在WS
C. Bonus-hunter(促銷)-10-20%的股票
路徑: 註冊→激活獎金→最低費率→嘗試快速退出
特點: 尖峰到'/promo/claim',濫用撤退,頻繁的429沒有正確的限制
D. High-roller/VIP-≤ 1%但支票高
路徑: 登錄→大存款→輕量級遊戲/高利率→退出
特點: 對遊戲提供商的任何延遲/假期敏感,對SLA付款至關重要
E. Bettor(體育/輕量級)- 路徑:登錄→報價訂閱→「狹窄窗口」中的頻繁投註(最高10-30秒)
- 特點:WS/系數緩存上的脈動負載,目標/VAR爆發
3)交通模式和計時
Open vs Closed model
Open (Poisson, arrivals/sec)-適用於公共促銷和直播(用戶「自己來」)。
Closed(fix。具有思考時間的虛擬用戶數量)-用於穩定會話(VIP,live遊戲)。
流量模式:- Ramp: 10-20分鐘線性加速x1 → x5
- 爆發:「爆炸」x3-x 10到30-120 s(獎金/頭獎/進球公告)
- 波浪:每5-10分鐘劃船(流/錦標賽)
- Soak: 2-12小時穩定負載(泄漏、GC、描述符、降解)
4)關鍵浮動和指標
身份驗證和配置文件
RPS在'/login','/2fa/verify',p95/p99,error-rate,lock/ratelimit工作
付款
遊戲門
啟動插槽/直播臺: 成功率,時間到第一旋轉,供應商故障
WebSocket: 高峰連接,消息/秒,RTT, rate-limit/429, reconnects/min
促銷/獎金
「/promo/claim」,「/freespin/activate」: 200/4xx/5xx,份額409/競爭性升級,每錢包級聯
存儲和隊列
Saturation: CPU, DB-connections, pool-timeouts, queue lag, GC pauses
5)地質與網絡現實
市場地理分配(EU/LatAm/MEA/APAC)和ASN混合(移動網絡,托管)。
edge→origin潛伏期(Anycast/CDN),移動RTT,數據包丟失。
A/B:使用CDN和旁路(起源)-評估「純」後端。
6)測試數據設計
別名帳戶,按地區劃分的BIN卡,貨幣,KYC狀態。
現實行為計時:休閑的思考時間1-7,0。3–1.2 c用於現場投註。
控制不間斷操作(輸出/存款):PSP sandbox的幹燥模式,錢包存根。
抗Frod/Bot過濾器:whitelist測試ASN/IP/Devais,否則WAF/anti-bot將「扼殺」展位。
7)測試計劃(發布/促銷模板)
1.煙霧負載: 高峰10-20%,30分鐘
2.Capacity ramp: x1 → target → x1.從目標峰值5,每個階段10-15分鐘
3.Burst系列: 3-5波每波60-120波,從當前水平到x3-x5
4.Soak: 高峰60-80%(泄漏、退化)4-8小時)
5.Failover/Chaos: 禁用單個PSP/PoP、遊戲提供商降級、單張DB下降
6.WS風暴: 2-3分鐘內大規模恢復+5-10 ×報告
7.Promo 風暴: /promo/claim+註冊+在60秒「窗口」中存款"
退出標準:綠色區域中的所有SLO;頭部≥ CPU/連接器的 30%;不超過PSP配額;測試後沒有隊列增長和p99。
8)基礎設施模式以承受峰值
Warm-pool/provisioned concurrency(功能/容器),pre-scale在促銷之前。
連接池和上遊限制(DB/PSP)+查詢隊列。
Idempotency 密鑰存款/webhooks。
Backpressure:429/503帶有「Retry-After」,「重型」rutes降解(報告/搜索)。
快取/邊緣快取系數和靜態元數據遊戲。
9)反倒退: 首先「打破」什麼
擁擠的DB池→ p99增長和超時
在大規模平衡升級中鎖定錢包- PSP-rate極限→雪崩復古和雙
- WS廣播數以千計無戰鬥訂閱
- 太激進的WAF規則→登錄/存款上的FPR
10)測試期間的觀察力
RED/USE+業務漏鬥(login→depozit→stavka→vyvod)的行車記錄儀。
「慢速「/錯誤請求(100% sample錯誤)的端到端跟蹤。
度量/邏輯中的測試步驟標記(ramp/burst)。
單獨的PSP/遊戲提供者面板,轉發隊列,idempotency熱門歌曲。
11)團隊和流程
戰爭室:穿孔工程師,後端,SRE,風險/支付,WAF/安全,產品。
Runbook:在p99>目標時做什麼,我們如何降低負載,誰叫提供商。
報告:SLO,吞吐量,瓶頸,成本,代碼/體系結構/配額建議。
12)卡帕西蒂計劃: 從玩家數量到RPS
評估(示例):- 高峰時同時玩家:50k
- 平均動作頻率:0。25–0.每個玩家5 req/s(下方移動,上方實時)
- 評估RPS API:12。5k-25k+服務請求(錢包、提供商、緩存)
- WS:30-60k活動連接器,3-8 msg/s桌子/主題
- 在burst和retrai上添加30-50%的頂部
13)展位準備支票清單
- 數據:帳戶/錢包/卡/貨幣/國家/遊戲,別名
- 貨幣隔離:sandbox+webhook存根,禁止「現場」註銷
- Edge/CDN/WAF作為銷售;測試ASN的「軟」模式中的反機器人
- 可觀察性:dashbords,alerts,traces包括
- Autoscale和warm-pool定制;池/連接極限記錄
- 金絲雀標誌為「沈重」的圖片(報告,大規模出口)
14)工具(參考)
生成器: k6, Gatling, Locust (HTTP/WS), JMeter(包括WebSocket插件)
模擬器: 定制報價腳本/遊戲提供商
流量回放: tcpreplay/ingress鏡像與匿名和規範化
15) profile示例「促銷錦標賽,60秒開始」(案例)
波浪− 5分鐘→ 0:- Open Arrivals: 400 → 2,500 req/s (登錄名/refresh)
- '/promo/claim':bursts每個1,000 rps 3 × 20 c
- WS:+15 k connect,+5 msg/s主題為「領導板」
- 預緩存和warm-pool
- Rate-limit '/promo/claim':10/min IP, 2/min帳戶,30秒負響應緩存
- 等效性和獎金排隊(batch 50-100/tact)
- 「軟」429 with 「Retry-After」+UI進步
成功標準:不降解SLO登錄/存款,p95 WS <150 ms, <0。5%的claim錯誤,沒有排隊。
二.總結
iGaming負載測試是行為建模而不是「尾部射擊」。首先定義SLO和玩家配置文件,然後選擇流量模型(開放/關閉),構建具有地理和PSP限制的真實登錄腳本/存款/投註/促銷腳本,測試bursts和soak,包括可觀察性並準備自動滑行。將kapasiti計劃和runbook 'ami的結果固定下來-這樣你就可以滿足流量峰值,而不會出現意外和轉換損失。
