龙卷风+桃子。增加响应时间

时间:2014-03-14 12:44:42

标签: python postgresql tornado momoko

当我们使用命令在我们的龙卷风服务器上进行负载测试时:

ab -n 500 -c 100 http://<hostname>/api/stats/?events=691

在前400次请求(速度为200 rps)之后 - 最后100次请求需要花费很多时间。

我们在日志中得到了以下结果:

[I 140314 12:25:19 web:1462] 200 GET /api/stats/?events=691 (127.0.0.1) 12.92ms
[I 140314 12:25:19 web:1462] 200 GET /api/stats/?events=691 (127.0.0.1) 21.22ms
[I 140314 12:25:19 web:1462] 200 GET /api/stats/?events=691 (127.0.0.1) 28.75ms
[I 140314 12:25:20 web:1462] 200 GET /api/stats/?events=691 (127.0.0.1) 3021.00ms
[I 140314 12:25:24 web:1462] 200 GET /api/stats/?events=691 (127.0.0.1) 6403.66ms
[I 140314 12:25:24 web:1462] 200 GET /api/stats/?events=691 (127.0.0.1) 6411.02ms
[I 140314 12:25:24 web:1462] 200 GET /api/stats/?events=691 (127.0.0.1) 6417.97ms
[I 140314 12:25:24 web:1462] 200 GET /api/stats/?events=691 (127.0.0.1) 6420.90ms
[I 140314 12:25:24 web:1462] 200 GET /api/stats/?events=691 (127.0.0.1) 6426.83ms
[I 140314 12:25:24 web:1462] 200 GET /api/stats/?events=691 (127.0.0.1) 6439.17ms
[I 140314 12:25:24 web:1462] 200 GET /api/stats/?events=691 (127.0.0.1) 6442.40ms
[I 140314 12:25:24 web:1462] 200 GET /api/stats/?events=691 (127.0.0.1) 6445.59ms
[I 140314 12:25:24 web:1462] 200 GET /api/stats/?events=691 (127.0.0.1) 6449.05ms
[I 140314 12:25:24 web:1462] 200 GET /api/stats/?events=691 (127.0.0.1) 6445.53ms
[I 140314 12:25:30 web:1462] 200 GET /api/stats/?events=691 (127.0.0.1) 12985.94ms
[I 140314 12:25:30 web:1462] 200 GET /api/stats/?events=691 (127.0.0.1) 12871.76ms
[I 140314 12:25:30 web:1462] 200 GET /api/stats/?events=691 (127.0.0.1) 12760.86ms

Momoko有以下连接设置:

db_min_con = 5
db_max_con = 70

我们已将postgresql限制为300个连接和pgpool上的相同限制。

为什么在测试结束时响应时间会增长?在哪里挖?

1 个答案:

答案 0 :(得分:0)

您是否尝试使用简单同步psycopg2重新创建此问题?可能这个github issue会提供一个提示吗?