在我的项目中,我使用JAX-RS(websphere),EJB和OpenJPA作为主要技术。JAX-RS服务太慢
即使在简单GET调用的非常简单的情况下,服务也需要很长时间。我可以看到的主要任务是使用JPA进行数据库调用,使用Dozer映射器将实体对象转换为传输对象,最后将底层websphere实现将传输对象转换为JSON。数据只是表中的几行,没有预先加载(因此除了目标表以外,没有数据来自表)。
我不认为这里涉及巨大的计算。它仍然需要大约10-12秒。服务器也足够强大。
我该如何找出根本原因?我计划使用System.nanoTime()来查找每个主要组件占用的时间。但是还有其他更好的方法吗?
感谢您的意见。 JProfiler似乎是最常用的工具。你会建议哪一个? – Mandroid
Jprofiler支付我想,所以我没有建议。我们之前使用过JRockit,但看起来不再支持。他们将它合并到HotspotVM中。 VisualVM是oracles项目,所以我假设他们会使用jrockit的一些功能。 –