java提高JAXRS应用程序的性能
我一直在为Java Restful Web服务开发一个JAX-RS
应用程序
应用程序正遇到负载过大的性能问题
通常,服务一个请求大约需要400毫秒(0.4秒),但当我复制同一个请求1000倍时,服务每个请求的时间增加到30000毫秒(30秒)
它相当简单的应用程序使用:jax-rs
、CDI Injection
、jaxb
和JDBC
服务器是IBM WAS with Liberty Profile
部署在docker
容器上,具有2个pod/节点
如何提高此应用程序的性能
# 1 楼答案
基索
在WebSphereLiberty的后续版本中,与线程池相关的吞吐量有了几项性能改进。您的问题没有提供有关您使用的WebSphere Liberty级别的信息。此外,WebSphereLiberty中的JAX-RS功能也有一些性能改进,这可能也是有益的
正如所建议的,您需要通过分析瓶颈来确定是什么导致了减速。通常它是某种资源;例如,网络、CPU、内存、磁盘、锁等。使用verbose GC运行是一个很好的起点,可以查看垃圾收集活动。如果堆没有针对要执行的负载进行适当的配置,垃圾收集暂停可能会导致问题,但也有许多其他可能性。这是一个很好的排除立即,因为这是很容易做的分析
如果您提供WebSphere Liberty版本号,这将有助于人们向您提供更多可能有用的信息