日韩性视频-久久久蜜桃-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 框架的性能比较的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 2025韩国大尺度电影 | 五月六月丁香 | 男人扒女人添高潮视频 | 少妇又白又嫩又色又粗 | 亚洲激情综合 | 国产美女视频免费观看下载软件 | 一区二区三区视频免费看 | 日韩黄色三级 | 荷兰女人裸体性做爰 | 国产福利久久 | 色婷在线 | 国产永久免费 | 欧美一区二区区 | 免费看一级 | 日韩123区 | 午夜免费激情视频 | 欧美日韩国产综合网 | 国产精品300页 | 久久久久久久久久久久久久久久久久久久 | 都市激情亚洲一区 | 日韩黄色大片 | 狠狠干在线视频 | 在线观看麻豆视频 | 最新中文字幕在线观看视频 | 国产乱人伦精品 | 国产亚洲毛片 | 中文字幕成人av | 久久精品爱 | 黑人巨大精品欧美一区二区 | 韩国91视频 | 成年人av| av影库| 午夜视频在线免费观看 | 国产香蕉在线视频 | 成人短视频在线 | 久操这里只有精品 | 国产九九| 波多一区 | 五月婷av| 日韩一级色片 | 婷婷一区二区三区 | 午夜777| aaa黄色 | 2021毛片 | 好姑娘在线观看高清完整版电影 | 国产丝袜一区二区三区 | 夜夜躁狠狠躁日日躁av | 午夜刺激视频 | 色精品视频 | 日本女优在线看 | 97久草| 成人国产精品久久久 | 国产永久在线观看 | 雪白的扔子视频大全在线观看 | 欧美精品一区二区三区三州 | 成人午夜黄色 | 99久久精品一区二区成人 | 成人毛片视频免费看 | 久久99色| av片国产| 亚洲成人激情av | 国产精欧美一区二区三区蓝颜男同 | 日本精品在线视频 | 久久精品一区二区三区黑人印度 | 性色av无码久久一区二区三区 | av久久久| 波多野结衣之双调教hd | 爱的色放韩国电影 | 天堂色在线 | 国产精品蜜臀av | 在线免费av网站 | 熟女俱乐部一区二区 | 九九久视频 | 色综合免费 | 禁止18在线观看 | 不卡的av在线 | 我们俩电影网mp4动漫官网 | 国产精品久久久久一区二区 | 在线观看视频福利 | 国产污网站 | 国产97在线观看 | 国产无遮挡又黄又爽在线观看 | 成人18视频免费69 | h视频在线免费看 | 污动漫网站 | 欧美少妇网 | 色噜噜网站 | 91国产丝袜播放在线 | 欧洲三级在线 | 看片日韩 | 国产精品传媒麻豆hd | 亚洲欧洲无码一区二区三区 | 一区二区三区四区在线 | 精品国产区一区二 | 精品一区二区毛片 | 国产免费激情视频 | 一级免费av | 99这里 | 先锋影音av在线 |