我的Java应用程序的功能是提供参考数据(基本上从XML文件加载大量数据到哈希映射),因此我们要求从这样的数据hashmap基于一个id,我们有这样的多个有不同的业务数据集的地图。的问题是,当我试图执行用于相同的请求多次Java应用程序,响应时间是不同的像31毫秒,过48ms 72ms的,120毫秒,63毫秒等因此存在最小和采取最大时间之间的相当大的差距执行完成。理想情况下,我希望响应时间是63ms,65ms,61ms,70ms,61ms,但在我的情况下,对于相同请求的响应时间的变化是巨大的。我曾使用过一个opensource配置文件来了解是否有任何额外的方法执行或内存泄漏,但根据我的理解,这没有问题。请让我知道可能是什么原因,我该如何解决这个问题。响应时间是不同的多个执行的应用程序与相同的请求性能问题
1
A
回答
2
可能有多方面的原因:
是您的Java应用程序重新启动,每次运行?如果不是,那可能是垃圾收集器在不幸的时间里踢了。如果是这样,JVM启动时间可能会导致变化。
是其他任何机器上运行?
磁盘缓存在某些情况下是“热身”的,但在其他情况下却不会?也就是说,是否最近访问过这些文件,以便它们仍在内存中?
如果这是一个联网的应用程序,测量过程中是否有任何网络活动?
如果涉及远程计算机(例如数据库服务器或文件服务器),那么上述方法是否也适用于该计算机?
使用一个分析器来找出哪一段代码负责时间的变化。
0
如果不运行实时系统,那么你就不能肯定这将在一定时间内执行。
操作系统不断地做其他的事情,大多是日常任务,并提供系统等服务。这很容易使您的系统其他部分减速50ms。
也有可能是你需要等待IO的时间。如硬盘或网络通信。
除此之外,还有一个事实,即您的JVM不做任何实时承诺。这可能意味着垃圾收集器贯穿始终。这对正常应用程序的影响非常小,但是如果您创建并忘记了很多对象(如加载大量或大型文件时可能会这样做),则效果会很大。
最后它可以是你的算法(你是否每次运行相同的数据?)如果你有不同的数据,你可以有不同的执行时间。
相关问题
- 1. 多个请求,相同的响应
- 2. 相同的请求不同的响应
- 3. AJAX问题:多个不同的请求返回相同的响应
- 4. 使用JMeter执行的查询的响应时间与在不同源上执行相同查询时的响应时间不同
- 5. 使用不同url的Web应用程序的响应时间
- 6. 多个请求单个响应同步
- 7. Java应用程序不能同时提供两个请求
- 8. Iphone - 多个应用程序,不同的应用程序ID,相同的令牌
- 9. 发送多个响应在逻辑应用程序相同的要求:ActionResponseAlreadyDefined
- 10. 如何处理映射到相同响应的不同请求?
- 11. Yii2响应不同格式请求的相同动作
- 12. 不同的执行时间还是相同的不同选项?
- 13. 使用Phonegap应用程序执行ajax请求的问题
- 14. 不同应用程序池下相同Web服务的问题
- 15. 基准Django应用程序与许多同时请求,如ab
- 16. 同时对多个请求进行故障响应
- 17. 多个应用程序的条件的同步请求
- 18. 具有相同框架的两个应用程序不能同时运行
- 19. iTunes思考两个不同的应用程序是相同的
- 20. 服务器不同时响应多个AJAX请求
- 21. 如何将不同的请求的响应放在与nodejs和请求相同的文档中?
- 22. 使用AngularJS进行JSON响应期间的POST请求问题
- 23. CORS和同源策略请求问题的反应捆绑的应用程序
- 24. 与Sinatra和EventMachine相同的长时间运行操作的多个http请求
- 25. 同步请求响应
- 26. YouTupe API V3,多个youtube.playlistItems.list请求不是以相同的顺序
- 27. 每个应用程序的相同或不同的运行时文件夹?
- 28. 同时执行应用程序
- 29. 如何在处理多个同时请求时稳定PHP响应时间?
- 30. 执行应用程序,它引用了多个不同版本