Python 计算Tornado中每秒的请求数

Python 计算Tornado中每秒的请求数,python,tornado,Python,Tornado,我不熟悉Python和TornadoWeb服务器。 我试图在服务器端代码中计算请求数和每秒请求数。我正在使用Tornadio2实现WebSocket 请看一下下面的代码,让我知道,可以对它做什么修改。 我使用RequestHandler.prepare()来限制所有请求,并使用一个列表来存储计数,因为它是不可变的 考虑所有模块都包括在内 而且,我对每个Websocket消息都感到困惑。是否每个Websocket事件都以HTTP请求的形式到达服务器?或者Socket.IO请求?在测试应用程序时,请

我不熟悉PythonTornadoWeb服务器。 我试图在服务器端代码中计算请求数和每秒请求数。我正在使用Tornadio2实现WebSocket

请看一下下面的代码,让我知道,可以对它做什么修改。 我使用RequestHandler.prepare()来限制所有请求,并使用一个列表来存储计数,因为它是不可变的

考虑所有模块都包括在内
而且,我对每个Websocket消息都感到困惑。是否每个Websocket事件都以HTTP请求的形式到达服务器?或者Socket.IO请求?

在测试应用程序时,请始终以健康的态度对待性能测试


如果你想测试一台服务器,把两台电脑连接到一个集线器上,在那里你可以监控从一台到另一台的流量。然后他妈的把服务器给轰出去。有多种工具可用于此操作,只需查找web负载测试工具即可。

Tornado中的正常HTTP请求会创建一个新的
RequestHandler
实例,该实例将一直持续到连接终止

WebSocket使用持久连接。创建一个
WebSocketHandler
实例,浏览器发送到服务器的每条消息都调用
on_message
方法


据我所知,如果浏览器支持,Socket.IO/Tornad.IO将使用WebSockets,这将回到长轮询

Tornadio2具有内置的统计模块,其中包括传入连接和其他计数器

检查以下示例:

如果您在linux上运行,我使用-测试请求的优秀工具。范例

siege http://localhost:8000/?q=yourquery -c10 -t10s 
-c10=10个并发用户 -t10s=10秒

siege http://localhost:8000/?q=yourquery -c10 -t10s