1. 程式人生 > >記錄workman和golang的websocket壓力測試

記錄workman和golang的websocket壓力測試

公司專案採用php編寫,而在websocket這一塊一直使用的是workman,

由於產品升級,考慮到c端的使用者將增多,所以對websocket服務的壓力測試迫在眉睫,

閒話不表,在這裡記錄影響websocket併發數的幾個問題:

1、伺服器cpu和記憶體

測試伺服器的配置:阿里雲ecs 2核心4GB,的配置,根據網上說的一個連線大概20k換算,應該能在幾十萬,但是實際測試的時候發現cpu和記憶體最多沒有超過30%,

2、電信閘道器

在這裡非常重要的提出這個,因為在公司測試的時候發現連線數一直沒超過8k,不管是換幾臺機器,只要是公司的區域網,總數加起來大致就是7-8k的樣子。在用python指令碼測試的時候,socket報錯是10054和10060,這裡需要注意的是,這裡的10054或者10060並不一定是你的伺服器,因為在這個鏈路上還有電信這個門神,他也是可以阻止你和你的伺服器建立連線的。所以後來就讓同事回家,各自用各自家裡的網路,還有公司的網路來進行測試

在這裡記錄下,當採用workmand的時候大致會是在18k-23k的連線數,也就是說,這個時候基本還是跟客戶端的網路又關係,

我們還是沒有測出workman的極限,因為cpu和記憶體沒有爆表

3、伺服器的頻寬

由於之前是測試伺服器的頻寬只有1M,後來升級到了10M,經過測試,連線數到了2w左右的時候,頻寬是3.8M