微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

性能测试 - 尽管 API 只返回一个空字符串,但 TPS 还是慢到爬行?

如何解决性能测试 - 尽管 API 只返回一个空字符串,但 TPS 还是慢到爬行?

所以我遇到了一些我不理解的性能问题。

我有一个 SpringBoot Rest API 应用程序,我正在测试一个 GET 请求,该请求进行一些外部服务调用。无论我在测试中投入多少用户,它都有稳定的 TPS。我投入的用户越多,响应时间就越长,但 TPS 保持稳定,应用永远不会慢到爬行。

然而,为了测试基准性能,我更改了 API,因此它不会进行任何外部服务调用并仅返回一个空字符串。响应时间从 300-400 毫秒提高到 30 毫秒,TPS 飙升。但是,它现在不能在很长一段时间内处理超过 10 个用户如果我给它超过 10 个用户性能会随着时间的推移而降低到爬行,尽管如此简单的 GET 请求返回一个空字符串。

这里会发生什么?这是正常行为吗,我如何才能找到更多信息并进一步调试。谢谢!

解决方法

但是现在不能长时间处理超过 10 个用户

经典 memory leak,使用 APM tool 或分析器工具,如 JProfilerYourKit - 它应该为您提供有关导致问题的函数的更多信息。

或者(或另外)使用静态 code analysis tool,它可能会检测未关闭的句柄、连接、静态对象、没有 hashCode()equals() 的设计不佳的对象实现的功能等

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。