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

标签 java performance web-services tcp cpu

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

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

我怀疑此函数涉及将数据从服务传输到客户端。但是两者都在本地运行,所以我不希望这种传输占用这么多 CPU 时间。有谁知道是什么原因造成的?

谢谢!

最佳答案

I suspect that this function is involved in transfering the data from service to client

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

关于java - 如何使 TCPTransport$ConnectionHandler.run 消耗更少的 CPU 时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7413673/

相关文章:

c# - SOAP 客户端从控制台应用程序工作,从 wcf 服务中调用时超时

java - 警告 : Failed to load the sqljdbc_auth. dll 导致 : no sqljdbc_auth in java. library.path

c# - xbox 性能陷阱

javascript - Socket.IO 服务器性能和带宽使用

c# - 保护网络服务?

java - 基于 IBM MQ 的 Web 服务

java - 在同一应用程序中使用 Amazon map 和 Google map

java - 在 Spring 应用程序中的另一个中包含 Velocity 模板

java - Object的**hashCode**函数——jdk如何使用它?

linux - 生产者-消费者模式不适合我们的应用程序?或者只是使用上的误解?