我正在使用JMeter来测试API端点的性能。 应用的线程数(用户)为100。 当我执行第一次的测试时,平均响应时间为35345 ms。 对于在同一API端点上具有相同线程数的所有以下测试,平均响应时间大约为4705毫秒。
平均响应时间如此大的差异是什么原因? JMeter是否在第一次测试时缓存任何文件,并在以下所有测试中使用相同的缓存文件? 如果是,我该如何避免这种情况?
我是JMeter的新手,对此方面的任何帮助都将不胜感激。
答案 0 :(得分:2)
当涉及到API测试时,JMeter不会缓存任何内容,它具有HTTP Cache Manager,当涉及到Web测试(模仿HTTP)时处理图像,脚本和样式等嵌入式资源时,它可以代表浏览器缓存请求由真实浏览器发送)但不是你的情况。
所以我的期望是它在你的应用程序的测试方面是某种东西,即它需要“预热”它自己的缓存,并且由于第一次访问时lazy initialization组件的原因,前几个请求的处理时间更长。
所以我的推荐是: