tornado之TCPServer性能测试
时间: 2023-06-21 10:15:24 浏览: 68
要对 Tornado 的 TCPServer 进行性能测试,可以使用 Python 中的压力测试工具,如 ApacheBench (ab) 或者是 wrk。以下是一个简单的性能测试脚本示例:
```python
import asyncio
from tornado.tcpserver import TCPServer
from tornado.ioloop import IOLoop
class EchoServer(TCPServer):
async def handle_stream(self, stream, address):
while True:
data = await stream.read_until(b"\n")
await stream.write(data)
if __name__ == "__main__":
server = EchoServer()
server.listen(8888)
IOLoop.current().start()
```
这个脚本启动了一个简单的 EchoServer,当客户端连接上来后,会将收到的数据原样返回。接下来,我们可以使用 ab 命令进行性能测试:
```
ab -n 10000 -c 100 -k http://localhost:8888/
```
这个命令会向本地的 8888 端口发送 10000 个请求,同时并发数为 100。其中 -k 表示启用 HTTP Keep-Alive,可以减少连接建立的开销。测试完成后,ab 命令会输出一些统计信息,如请求数、每秒请求数、请求时间分布等。可以根据这些信息来评估 Tornado TCPServer 的性能。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)