我进行了基本的压力测试,但无法解释结果。
设置
超级简单的 node.js API(返回 GET 请求的字符串)部署在 heroku 的免费层上
增加 RPS 直到我开始看到平均响应时间滞后(不幸的是,我使用的工具不允许 p90 等,只是平均值)
Datadog 集成用于监控
虽然我确实达到了阈值(2.5k rps)但我开始看到速度变慢,但在 DataDog 中我没有看到任何表明压力的东西——RAM、CPU。
如果不是 CPU 或 RAM,那么可能导致瓶颈的原因是什么?如何判断垂直或水平扩展是否有帮助?
答案1
可能会存在很多瓶颈。我列举几个:
- 应用程序的配置限制(例如,最多定义 100 个线程)
- 上下文切换(应用程序和内核之间)
- 仅加载单核(您有 6 个核心,但仅加载一个,总负载约为 16%)
- 磁盘带宽
- 您的测试平台(运行请求的地方)达到每秒测试次数的限制。
- 你的提供商限制你