Реальный 4-часовой soak (Sprint 28 overnight): 03:15 → 07:15. iterations: 718482 @ 49.89/s (target 50) api_mem: 250-300 MiB, без линейного роста ✓ pg_conn: 18-19 steady, no exhaust ✓ p95 latency: me=269ms / products=327ms / stats=328ms (steady) http_req_failed: 24.8% — НЕ из-за API. Внешний TLS-терминатор 88.204.171.93 (между dev-vm и stage) перодически ронял соединения с 'unexpected EOF' / 'connection reset by peer'. На внутренней сети stage'а (`docker exec curl localhost:8085`) — Healthy всё время. ISP/Cloudflare-level ограничение на длительные RPS, не баг food-market. Артефакты: tests/load/soak-runs/2026-06-09/summary.json tests/load/soak-runs/2026-06-09/metrics.csv Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
188 lines
7.3 KiB
JSON
188 lines
7.3 KiB
JSON
{
|
|
"root_group": {
|
|
"id": "d41d8cd98f00b204e9800998ecf8427e",
|
|
"groups": {},
|
|
"checks": {
|
|
"status 200/304": {
|
|
"path": "::status 200/304",
|
|
"id": "bb0a61bed739e19782e93f16fdc8de2c",
|
|
"passes": 178500,
|
|
"fails": 539982,
|
|
"name": "status 200/304"
|
|
}
|
|
},
|
|
"name": "",
|
|
"path": ""
|
|
},
|
|
"metrics": {
|
|
"http_req_duration": {
|
|
"p(95)": 299.54054174999993,
|
|
"avg": 66.88053515859963,
|
|
"min": 0,
|
|
"med": 10.801450500000001,
|
|
"max": 37280.380925,
|
|
"p(90)": 248.59847850000006
|
|
},
|
|
"http_req_duration{expected_response:true}": {
|
|
"min": 5.850894,
|
|
"med": 16.251459500000003,
|
|
"max": 37280.380925,
|
|
"p(90)": 24.008324199999997,
|
|
"p(95)": 28.289536149999996,
|
|
"avg": 36.35873969476588
|
|
},
|
|
"soak_me_ms": {
|
|
"avg": 51.595451748670904,
|
|
"min": 0,
|
|
"med": 10.321871999999999,
|
|
"max": 36856.612956,
|
|
"p(90)": 228.2269508,
|
|
"p(95)": 269.1876829499999,
|
|
"thresholds": {
|
|
"p(95)<1500": false
|
|
}
|
|
},
|
|
"soak_stats_ms": {
|
|
"max": 37280.380925,
|
|
"p(90)": 265.646159,
|
|
"p(95)": 328.79766825,
|
|
"avg": 79.40195971121915,
|
|
"min": 0,
|
|
"med": 14.8426535,
|
|
"thresholds": {
|
|
"p(95)<3000": false
|
|
}
|
|
},
|
|
"iterations": {
|
|
"count": 718482,
|
|
"rate": 49.89092021485671
|
|
},
|
|
"http_req_failed": {
|
|
"passes": 539982,
|
|
"fails": 178502,
|
|
"value": 0.7515574459556511
|
|
},
|
|
"http_req_tls_handshaking": {
|
|
"avg": 16.000909254243354,
|
|
"min": 0,
|
|
"med": 0,
|
|
"max": 2424.143097,
|
|
"p(90)": 57.3726737,
|
|
"p(95)": 101.27046469999998
|
|
},
|
|
"http_req_receiving": {
|
|
"p(90)": 0.29325370000000006,
|
|
"p(95)": 0.6291581499999995,
|
|
"avg": 0.18682778889021684,
|
|
"min": 0,
|
|
"med": 0.0915735,
|
|
"max": 114.690852
|
|
},
|
|
"checks": {
|
|
"passes": 178500,
|
|
"fails": 539982,
|
|
"value": 0.24844046197399516
|
|
},
|
|
"iteration_duration": {
|
|
"med": 11.821502500000001,
|
|
"max": 37281.010629,
|
|
"p(90)": 322.2889856,
|
|
"p(95)": 396.3179129999999,
|
|
"avg": 87.36108365376441,
|
|
"min": 2.367216
|
|
},
|
|
"soak_products_ms": {
|
|
"med": 15.2601175,
|
|
"max": 36863.60161,
|
|
"p(90)": 265.5007538999999,
|
|
"p(95)": 327.7341938999999,
|
|
"avg": 83.98896615849664,
|
|
"min": 0,
|
|
"thresholds": {
|
|
"p(95)<2000": false
|
|
}
|
|
},
|
|
"http_req_connecting": {
|
|
"p(95)": 1.8993207999999988,
|
|
"avg": 0.7216931167319017,
|
|
"min": 0,
|
|
"med": 0,
|
|
"max": 1173.121379,
|
|
"p(90)": 0.8937907
|
|
},
|
|
"dropped_iterations": {
|
|
"count": 1518,
|
|
"rate": 0.10540892727466031
|
|
},
|
|
"http_req_waiting": {
|
|
"avg": 66.4490582076901,
|
|
"min": 0,
|
|
"med": 10.3882205,
|
|
"max": 37280.145832,
|
|
"p(90)": 248.05782800000006,
|
|
"p(95)": 299.0103691499998
|
|
},
|
|
"vus_max": {
|
|
"value": 100,
|
|
"min": 50,
|
|
"max": 100
|
|
},
|
|
"soak_4xx_rate": {
|
|
"passes": 397664,
|
|
"fails": 320818,
|
|
"thresholds": {
|
|
"rate<0.01": true
|
|
},
|
|
"value": 0.5534780272853043
|
|
},
|
|
"http_reqs": {
|
|
"count": 718484,
|
|
"rate": 49.891059093548776
|
|
},
|
|
"soak_errors": {
|
|
"count": 35,
|
|
"rate": 0.0024303771110758304
|
|
},
|
|
"http_req_blocked": {
|
|
"avg": 16.696715463474398,
|
|
"min": 0,
|
|
"med": 0.001034,
|
|
"max": 3462.16794,
|
|
"p(90)": 60.4307061,
|
|
"p(95)": 103.53190239999986
|
|
},
|
|
"soak_5xx_rate": {
|
|
"fails": 718447,
|
|
"passes": 35,
|
|
"thresholds": {
|
|
"rate<0.005": false
|
|
},
|
|
"value": 0.000048713816073332384
|
|
},
|
|
"vus": {
|
|
"value": 8,
|
|
"min": 0,
|
|
"max": 100
|
|
},
|
|
"data_sent": {
|
|
"rate": 51064.316075031915,
|
|
"count": 735380141
|
|
},
|
|
"data_received": {
|
|
"count": 1407607311,
|
|
"rate": 97743.33114392566
|
|
},
|
|
"http_req_sending": {
|
|
"avg": 0.24464916201752657,
|
|
"min": 0,
|
|
"med": 0.13715549999999999,
|
|
"max": 1158.880174,
|
|
"p(90)": 0.3224871000000002,
|
|
"p(95)": 0.43839834999999977
|
|
}
|
|
},
|
|
"setup_data": {
|
|
"email": "soak-1780956931800@test-fm.local",
|
|
"token": "eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZDQkMtSFM1MTIiLCJraWQiOiI4NTEzNjNCOTg4NTIxNkIzQUVFODcyMDFCRDI3MENDNjQ1RDYwNjkwIiwidHlwIjoiYXQrand0IiwiY3R5IjoiSldUIn0.m9QVC2Q66Z_han3h19PTQpqF8OoxIHcR0GkxGwLoKQA8gN3oJoDVGiiYEHz0ajvDfozOrZYVfZfx8UTmUF3WR3hgRUdu7iEVlvEC-PIvqNUvjUUxzmKZXvc9jmEwGjAGqWtLEVOjU4aUgr4LwAL0XFKYsjvRIbzYc-ZzsKjgFiUYvq1z_30ylyswZaMEVhKdLcqAv-lFkZiJ9PCiqQRNv9VarNWs5CZYyej007pnH9rW_vQeP7pMZjEy3lewv6W1odB2TCgWlX2oz7cEHdeVB3wIeaSLF2w7loW85qdxB_xUNRmubDLeDCjfOmVeNe4fvXkL4pt_dSqYzyewyUS3dg.ieuPfJr7SWAVlWGI5Xh49Q.9G031nYAtwY1cqTHCoeHLOgIXaJf4WL7VaEzun30KEyfF3CQ_Bgd2cSBex-HFBMq-Ou6m6Js1hLWzol8eh7IngI4I9QWRv9t7qllAOKnRYoO50JoXkP7bnZcnI6eYtbZClBaLpQvPFia-lJ9lT5D-b51Fy0a1VPKwbqGzMu-ivx8iDI-44txevTSBrLz91zJ18l836yYDoVdeMYIDMb7u7ErJULg63AZlxgFxeJlQ0szmsDL9_exP44PmsCy6MJwGsT8z3XyYCl15Jq8CEEFNGLAj6QNS0zHSdiDRmE9LN2qGN9q5EPPRS8WPFwVujwn8XaL43xhz0kCZQo9KVUJG0SHXp1km5Yz7RaeUwgEyOx1737DRFZlgFzqsIQAiiypueZPdwegkm2LqtNui2cGPFe8A9rMagIbyB2C5HkffJvF7ymV7PdKCiXHFyRS8oeSpd1xFdQbHps845unT6U8Ie1w_VWQUV9lyCI72y3ITa1G_-gpiyMscIhxedCpNNY9LkAm3PqYRkEcNQ3OJGbGKCSBa9YjmWP9reVTswak389U5eKSxODq8-7s5XxBfnLxaT4AwmaxXgESMOU7U27op_3PCG8OJvwfv_Z8mO3pid1VSfdhaQCXsB-Ccuw6YECVgFyN0iMQZRBv3xiNnFQSftRgwG5qksGc4-rZXvKIQffP1EXXvGl3Bw96_7vTHfYZvjrdut7omSjVfD4kIhOSIXQTwl61EYrm1LHTrhYAj3jJwi-R0VXaBa_02f32GumO7o-qzxp7B4--jx6eAaM5D9FM5KXt7h3WCk6L3JZTdIpoifJb1gvFqkpAJuTa-ImYLPhqiEbeWLQDP2bKjANRS-_H_ASDt3V5y5vr44WOAZx80iZ0O7QWuK6lyTCxR7iL5VnxaNbdNriCKHkefmyIPohyHVOpysDAUKMdO-wQcCK0-t8NVDYegPcSZ3xd_jipy1RtBBvpYfHLad2t5bFKSK82YpfP2iDwgVT-piGUmEiWWBMqUyT3sl5OymNJJvwdoEsYiRAzQer9Rl5EEeCrPpbeLdU9PKHm0mdKPOdSZtISlegJ5cFRmA9HhgohozXQlxnVOQv0LBrkNCfQBlwITpm7CxbQN7dMFEza5QbnJLTOGzvoamcud7AtrFKKupR1n_KLBySY1QJ6LrC9MZpwno6WK-BNV0EdR2xW-lkiUijmllOrXqIqDrZ9D9V4P_v2jh60cgSDi7pVu70C6HMfHud0t9W2mPnDT0IKv8fjLopTC1p8D56-6Ne6d-DnqdhdMqSn3VHF82PeHLs5oNP_hXsOutruZC1fXnLzlCXG0_xyWI7WiAmb53PVI9nUsK6iM6i4_RoAsOz0akLfaLxlfe7EeDDm9Tbu6ainXieZ3_gMbmcESCrZ-zCu7PaP2VzbJDD9ZZsgOBrOGNZ7snhqdXxIuUDkDCQzJupPbGu0je3XSAWMRL6cwZI4IUvJBvQQOYQfFVSyaygzXn9TL0R1iLo2TtsWJjXeTl01Hz_yFN2D8laHfz0_kV9AxrCDqpaKoIqRjyXDLi6P2D0aPpgrOnI3O2VSR2HmLnmXzY5idCtWIvNFWb4UGN4mVP8GNBiV.jJUW4Y60h6Ven-ybyUeXmkH7CZxmVV1nu_t8jfyOBQs"
|
|
}
|
|
} |