【发布时间】:2017-06-27 03:33:45
【问题描述】:
我有 2 台类似的服务器:16 个 vCPU、2.4 GHz、Intel Xeon E5-2676v3、64 GiB 内存。
首先产生负载,其次处理请求。
配置加载.ini:
[phantom]
address=0.0.0.0 ;target's address(chanched, of course)
port=443 ;target's port
rps_schedule=step(1000,10000,1000,15s) ;load scheme
ssl=1
header_http = 1.1
headers = [Host: api.somehost.io]
[Content-Type: application/json]
[Connection: close]
uris = /api/test
预期: 负载将逐步生成,从 1 000 RPS 开始,每 15 次添加 1 000 RPS,最高可达 10 000 RPS。
我们有:
预期 1000,有 ~1000(平均响应时间 7 毫秒)。
预计 2000,有 ~2000(平均响应时间 30 毫秒)。
预期 3000,有 ~2700(平均响应时间 250 毫秒)。
预期 4000,有 ~2700(平均响应时间 250 毫秒)。
此外,无论计划增加多少RPS,实际都保持在~2700以内。
有一些建议: 1. Yandex Tank“了解”,该服务器无法处理此类负载并且不会增加它。 2.服务器无法建立更多连接
测试 url - /api/test 由 rails application + nginx 作为代理处理。
我使用静态文件进行了测试以检查第二个建议。结果:https://overload.yandex.net/8175
超过 2700 个的连接数 = ~200 000。 但是这个数字比 load.ini 文件中的要求要少 - const(500000,15s)。
问题:为什么 Yandex Tand 不生成所需的负载?还是我对结果的理解有误?
【问题讨论】:
标签: nginx load stress-testing yandex-tank