API性能的正常行为?

时间:2014-08-15 05:50:43

标签: java spring performance rest

我目前正在测试API性能并发现前几个请求总是很慢。相同请求的1000ms至3000ms。在jMeter中运行时,它最终会持续响应大约300毫秒。如果这会产生影响,服务器就位于世界的中间位置。

它是使用Spring在Java中编写的REST api JSON响应。 获取请求 有一个Authorization和accept / json标题

我还注意到,不成功的回复平均比成功回复慢。这可能与不同状态代码的不同性能有关吗?或者更有可能是代码问题?

查看我的日志,所有事务在1 ms内完成。

1 个答案:

答案 0 :(得分:0)

我可以想到一些可能影响您的表现和指标的可能性。

  1. 持久连接和连接池/缓存(假设已启用此功能)可以加快后续查询,因为不需要往返连接设置(假设TCP)和/或SSL握手(假设HTTPS或SSH) )。

  2. 性能差异的数量级确实表明了网络延迟的可能性,这引出了一个问题:您是否确定所有服务器请求在1ms内完成(包括前几个请求)?从何时到何时实际计时(从进入休息层,或从http服务器日志或......)?

  3. 如果前几个缓慢的请求也恰好是自服务器启动以来对服务器的第一个请求,那么可能会发生一些额外的对象实例化/数据加载,这会延迟服务器响应的能力。 / p>

  4. 应该不太可能,但如果涉及任何代理,网络上可能会出现缓存。这可以通过比较服务器记录的请求数量与实际发出的请求数量来轻松确定。