我有 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 不产生所需的负载?或者我可能错误地理解了结果?