-2

我正在使用 jersey 作为在 weblogic 服务器中运行的休息客户端,并且看起来 http 客户端在网络 IO 上花费了很多时间。调用堆栈在下面

java.io.BuffererdInputStream.read
  weblogic.net.http.MessageHeader.isHttp
     weblogic.net.http.MessageHeader.pasreHeader
       weblogic.net.http.HttpClient.parseHTTP
           com.sun.jersey.api.client.WebResource$Builder.get

性能配置文件显示 java.io.BuffererdInputStream.read 在等待网络 IO 时占用了总请求时间的 60%。它也可以在 2 个并发 http 客户端的小负载中看到。

导致网络 IO 问题的可能原因是什么?

我的环境 weblogic server 10.3 操作系统:linux

4

1 回答 1

0

使用阻塞 Web 框架时,将应用程序线程的大部分时间花在网络 I/O 上是正常的。在网络上移动比特比在单个计算机中将比特移入和移出内存要慢几个数量级。

低级网络协议旨在保证消息到达目的地而不会在途中被更改,而不是特别快地做到这一点。

于 2013-08-11T20:12:51.523 回答