1 回答

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
本文是我在實(shí)踐過(guò)程中的記錄,我的目標(biāo)是使用spran-websocket,netty, undertow和node.js四種框架分別實(shí)現(xiàn)C1000K的服務(wù)器,看看這幾個(gè)框架實(shí)現(xiàn)的難以程度,性能如何。開(kāi)發(fā)語(yǔ)言為Scala和Javascript。
當(dāng)然,談起性能,我們還必須談到每秒每個(gè)連接有多少個(gè)請(qǐng)求,也就是RPS數(shù),還要考慮每條消息的大小。
一般來(lái)說(shuō),我們會(huì)選取一個(gè)百分比,比如每秒20%的連接會(huì)收發(fā)消息。我的需求是服務(wù)器只是push,客戶端不會(huì)主動(dòng)發(fā)送消息。 一般每一分鐘會(huì)為這一百萬(wàn)群發(fā)一條消息。
所以實(shí)現(xiàn)的測(cè)試工具每個(gè)client建立60000個(gè)websocket連接,一共二十個(gè)client。實(shí)際不可能使用20臺(tái)機(jī)器,我使用了兩臺(tái)AWS C3.2xlarge(8核16G)服務(wù)器作為客戶端機(jī)。每臺(tái)機(jī)器10個(gè)客戶端。
四個(gè)服務(wù)器的代碼和Client測(cè)試工具代碼可以在github上下載。 (其實(shí)不止四種框架了,現(xiàn)在包括Netty, Undertow, Jetty, Spray-websocket, Vert.x 和 Node.js 六種框架的實(shí)現(xiàn))
- 1 回答
- 0 關(guān)注
- 2302 瀏覽
添加回答
舉報(bào)