日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

八种 WebSocket 框架的性能比较

發布時間:2025/3/21 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 八种 WebSocket 框架的性能比较 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前一篇文章使用四種框架分別實現百萬websocket常連接的服務器介紹了四種websocket框架的測試方法和基本數據。 最近我又使用幾個框架實現了websocket push服務器的原型,并專門對這七種實現做了測試。 本文記錄了測試結果和一些對結果的分析。
這七種框架是:

  • Netty

  • Undertow

  • Jetty

  • Vert.x

  • Grizzly

  • spray-websocket

  • nodejs-websocket/Node.js

最近用Golang實現了第八種,Go表現還不錯。

  • Go

1. 測試環境

使用三臺C3.4xlarge AWS服務器做測試。 一臺作為服務器,兩臺作為客戶端機器, 每臺客戶端機器啟動10個client,一共20個client
C3.4xlarge的配置如下:

型號vCPU內存 (GiB)SSD 存儲 (GB)
c3.large23.752 x 16
c3.xlarge47.52 x 40
c3.2xlarge8152 x 80
c3.4xlarge16302 x 160
c3.8xlarge32602 x 320

服務器和客戶端機器按照上一篇文章做了基本的優化。

以下是測試的配置數據:

  • 20 clients

  • setup rate設為500 * 20 requests/second = 10000 request /second

  • 每個client負責建立50000個websocket 連接

  • 等1,000,000個websocket建好好,發送一個消息(時間戳)給所有的客戶端,客戶端根據時間戳計算latency

  • 如果服務器setup rate建立很慢,主動停止測試

  • 監控三個階段的性能指標: setup時, setup完成后應用發呆(idle)時,發送消息時

2. 測試結果

2.1 Netty

Setup時

  • cpu idle: 90%

  • minor gc: Few

  • full gc: No

Setup完成, 應用Idle時

  • cpu idle: 100%

  • memory usage: 1.68G

  • server free memory: 16.3G

發送消息時

  • cpu idle: 75%

  • minor gc: few

  • full gc: No

  • Message latency (one client)

    ?????count?=?50000min?=?0max?=?18301mean?=?2446.09stddev?=?3082.11median?=?1214.0075%?<=?3625.0095%?<=?8855.0098%?<=?12069.0099%?<=?13274.0099.9%?<=?18301.00

2.2 Vert.x

Setup時

  • cpu idle: 95%

  • minor gc: Few

  • full gc: No

Setup完成, 應用Idle時

  • cpu idle: 100%

  • memory usage: 6.37G

  • server free memory: 16.3G

發送消息時

  • cpu idle: 47% ~ 76%

  • minor gc: few

  • full gc: few

  • Message latency (one client)

    ?????count?=?50000min?=?49max?=?18949mean?=?10427.00stddev?=?5182.72median?=?10856.0075%?<=?14934.0095%?<=?17949.0098%?<=?18458.0099%?<=?18658.0099.9%?<=?18949.00

2.3 Undertow

Setup時

  • cpu idle: 90%

  • minor gc: Few

  • full gc: No

Setup完成, 應用Idle時

  • cpu idle: 100%

  • memory usage: 4.02G

  • server free memory: 14.2G

發送消息時

  • cpu idle: 65%

  • minor gc: few

  • full gc: No

  • Message latency

    ?????count?=?50000min?=?1max?=?11948mean?=?1366.86stddev?=?2007.77median?=?412.0075%?<=?2021.0095%?<=?5838.0098%?<=?7222.0099%?<=?8051.0099.9%?<=?11948.00

2.4 Jetty

Setup時

  • cpu idle: 2%

  • minor gc: Many

  • full gc: No

  • memory usage: 5G

  • server free memory: 17.2G

當建立360,000左右的websocket時, setup非常的慢, gc頻繁,無法繼續正常建立websocket, 主動終止測試。

2.5 Grizzly

Setup時

  • cpu idle: 20%

  • minor gc: Some

  • full gc: Some

  • memory usage: 11.5G

  • server free memory: 12.3G

當建立500,000左右的websocket時, setup非常的慢, gc頻繁,無法繼續正常建立websocket, 主動終止測試。

2.6 Spray

Setup時

  • cpu idle: 80%

  • minor gc: Many

  • full gc: No

當建立500,000左右的websocket時, setup非常的慢, gc頻繁,無法繼續正常建立websocket, 主動終止測試。

2.7 Node.js

Setup時

  • cpu idle: 94%

Setup完成, 應用Idle時

  • cpu idle: 100%

  • memory usage: 5.0G

  • server free memory: 16.3G

發送消息時

  • cpu idle: 94%

  • Message latency (one client)

  • Message latency

    ?????count?=?50000min?=?0max?=?18mean?=?1.27stddev?=?3.08median?=?1.0075%?<=?1.0095%?<=?1.0098%?<=?1.0099%?<=?1.0099.9%?<=?15.00

2.8 Go

Setup時

  • cpu idle: 94%

Setup完成, 應用Idle時

  • cpu idle: 100%

  • memory usage: 15G

  • server free memory: 6G

發送消息時

  • cpu idle: 94%

  • Message latency (one client)

  • Message latency

    ?????count?=?50000min?=?0max?=?35mean?=?1.89stddev?=?1.83median?=?1.0075%?<=?1.0095%?<=?2.0098%?<=?2.0099%?<=?4.0099.9%?<=?34.00

3. 測試結果分析

  • Netty, Go, Node.js, Undertow, Vert.x都能正常建立百萬連接。 Jetty, Grizzly 和 Spray未能完成百萬連接

  • Netty表現最好。內存占用非常的少, CPU使用率也不高。 尤其內存占用,遠遠小于其它框架

  • Jetty, Grizzly和Spray會產生大量的中間對象,導致垃圾回收頻繁。Jetty表現最差

  • Node.js表現非常好。 尤其是測試中使用單實例單線程,建立速度非常快,消息的latency也很好。 內存占用也不錯

  • Undertow表現也不錯,內存占用比Netty高一些,其它差不多

  • 這里還未測到Spray另一個不好的地方。 在大量連接的情況小,即使沒有消息發送,Spray也會占用40% CPU 時間

總結

以上是生活随笔為你收集整理的八种 WebSocket 框架的性能比较的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 99久久99久久免费精品蜜臀 | 婷婷色中文字幕 | 亚洲视频一二三四 | 欧美成人极品 | 中文字幕人乱码中文字 | 琪琪色影音先锋 | 538国产精品一区二区免费视频 | 尤物国产 | 黄三级 | 亚洲字幕成人中文在线观看 | 成年人网站免费在线观看 | 国产操操操| 九色在线播放 | 亚洲色图28p| 性生活av| 大奶子情人 | 在线中文天堂 | 少妇高潮毛片色欲ava片 | 精精国产xxxx视频在线播放 | 久久成人18免费观看 | 日韩国产精品一区 | 爱情岛论坛av | 91av久久| 亚洲美女久久久 | 免费a大片 | 国产无遮挡又黄又爽免费视频 | 天堂视频网 | 人人爽人人澡 | 天堂在线观看免费视频 | 欧美一级黄 | 美女少妇直播 | 亚洲精品1区 | 免费毛片视频网站 | 成人福利av | 总受合集lunjian双性h | 午夜第一页 | 亚洲色图综合在线 | 免费在线观看成年人视频 | 亚洲福利视频一区 | 成人自拍视频在线 | 日韩精品高清在线观看 | 超碰伊人久久 | 极品熟妇大蝴蝶20p 国产偷自拍视频 | 二区影院 | 成人性生交大免费看 | 精品久久无码中文字幕 | www久久久com | 少妇xxx| 91麻豆一区二区 | 九九热精品视频 | 小泽玛利亚一区二区三区在线观看 | 国产美女免费网站 | 三度诱惑免费版电影在线观看 | 亚洲干 | 中文字幕一区二区三区精华液 | a级片在线看 | 奇米影视第4色 | wwwxxx在线观看 | 国产二级毛片 | 成人在线a | 日韩欧美一区二区三区 | 亚洲精品乱码久久久久久蜜桃图片 | av网址免费在线观看 | www久久com| 精品欧美久久久 | 不卡中文av | 亚洲免费色 | 刘亦菲一区二区三区免费看 | 两女双腿交缠激烈磨豆腐 | 日本一区二区三区免费电影 | 中文字幕一二三四 | 丰满白嫩尤物一区二区 | 久久成人久久爱 | 一起草国产| 夜夜狠 | 亚洲黄色激情 | 性色欲情网站iwww九文堂 | 亚洲欧美国产高清 | 丰满岳妇乱一区二区三区 | 国产在线一区二区三区四区 | 亚洲黄片一区 | 天天干天天爱天天射 | 国产福利91 | 秋霞成人午夜鲁丝一区二区三区 | 久久久久亚洲av片无码 | 亚洲天堂精品在线 | 久久精品国产亚洲av麻豆 | 精品影院| 老太婆av | 毛片网站在线看 | 午夜久久久 | 熟女丝袜一区 | 国产牛牛| av自拍网| 四虎网址在线 | 国产九色在线播放九色 | 69视频在线观看 | 中文字幕不卡在线观看 | 91视频免费视频 |