负载测试websocket服务器?

Posted

技术标签:

【中文标题】负载测试websocket服务器?【英文标题】:Load test websocket server? 【发布时间】:2015-08-20 20:21:33 【问题描述】:

想法

我想确定一个 websocket 服务器:

最大并发连接数 任何错误

测试

据我所知,要完成这项工作,我需要一个不错的 websocket 测试套件。到目前为止,我只尝试使用Thor。但它不允许我发送额外的数据。

问题

websocket 服务器需要一个令牌来连接,因此为什么 Thor 不能开箱即用,我需要一种方法来使用测试软件发送一个令牌。我想将此部分保留在测试中,因为它必须向另一台机器进行身份验证,因此如果我删除该部分,则不会是真正的负载测试。

tornado server.py 文件的代码:

class WebSocketHandler(tornado.websocket.WebSocketHandler):
def check_origin(self, origin):
    return True

def open(self, *args):
    self.id = self.get_argument("id")
    accessToken = self.get_argument("accessToken")
    #print "socket opened id: %s
    self.stream.set_nodelay(True)
    addActive(accessToken)
    clients[self.id] = "id": self.id, "accessToken":accessToken, "object": self

对让 Thor 工作的测试套件或方法有什么想法吗?

【问题讨论】:

【参考方案1】:

当我必须对 WebSocket 应用程序执行负载测试时,我使用了Apache JMeter。它不支持开箱即用的 WebSocket,但可以通过 plugin 或一些 Java 编码实现。

请参阅WebSocket Testing With Apache JMeter 指南,了解如何使用 JMeter 进行操作的方法和说明

【讨论】:

以上是关于负载测试websocket服务器?的主要内容,如果未能解决你的问题,请参考以下文章

Play WebSocket 客户端用于负载测试另一个 Play WebSocket 服务器应用程序

如何使用 JMeter 对 Websocket 进行负载测试?

Gatling stomp 发布/订阅负载测试

artillery强大灵活的负载测试套件

使用 Web 服务对服务器进行负载测试是不是与基于负载测试场景相同?

性能测试负载测试压力测试的异同