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

发布于 2024-12-04 15:01:46 字数 360 浏览 2 评论 0原文

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

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

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

谢谢!

I'm developing a webservice application, using apache cxf. Basically What this webservice does is searching a psql database using hibernate and returning the results.

The problem with this service is that it's kind of slow. When I run it LOCALLY on jetty and make the client request the data, then the VisualVM Profiler points out that sun.rmi.transport.tcp.TCPTransport.ConnectionHandler.run consumes 80% of the CPU time. All other functions in the list are less than 5%.

I suspect that this function is involved in transfering the data from service to client. Both run locally however, so I wouldn't expect this transfer to take this much CPU time. Does anyone know what could cause this?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

放赐 2024-12-11 15:01:46

我怀疑这个函数涉及从以下位置传输数据
为客户服务

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

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

No, it is involved in unmarshalling, locating, executing, and marshalling the entire RMI call from go to whoa. If it is taking 80% of CPU time that is almost certainly because your remote methods are taking 80% of CPU time.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文