如何使TCPTransport $ ConnectionHandler.run消耗更少的CPU时间

时间:2011-09-14 08:53:15

标签: java performance web-services tcp cpu

我正在使用apache cxf开发一个webservice应用程序。基本上这个web服务的作用是使用hibernate搜索psql数据库并返回结果。

这项服务的问题在于它有点慢。当我在jetty上运行它并让客户端请求数据时,VisualVM Profiler指出 sun.rmi.transport.tcp.TCPTransport.ConnectionHandler.run 占用了80%的CPU时间。列表中的所有其他功能都不到5%。

我怀疑此功能涉及将数据从服务传输到客户端。然而,两者都在本地运行,因此我不希望这种传输花费这么多的CPU时间。有谁知道是什么原因引起的?

谢谢!

1 个答案:

答案 0 :(得分:0)

  

我怀疑此功能涉及从中传输数据   为客户提供服务

不,它涉及解组,定位,执行和编组整个RMI调用,从转到whoa。如果占用80%的CPU时间几乎可以肯定,因为远程方法占用了80%的CPU时间。