Web服务客户端高延迟,通过ssh隧道更快

时间:2015-06-23 09:30:16

标签: java web-services latency ssh-tunnel

我用Apache CXF开发了一个java webservice应用程序,但是当我通过网络调用它时,我遇到了很高的WS延迟。基本上这是执行时间:

  • 本地(127.0.0.1/本地地址)电话:4ms
  • 局域网呼叫:200毫秒

但是,如果我创建与另一台计算机的SSH连接,则使用该连接构建本地隧道:

remote_ip:110000->本地:11000

然后我将客户端连接到本地:11000只需要40ms ......任何想法?

提前致谢

更新

我在ws方法中有一个跟踪调用它实际上是一个围绕调用的Java代理。通过该跟踪,我获得了4ms / 200ms / 40ms的时间。

最初我们认为它可能是一个网络问题,但我们尝试了同一个呼叫,让所有机器连接到一台具有相同结果的交换机。在创建隧道时,我们使用的是Putty(没有特殊选项)

1 个答案:

答案 0 :(得分:1)

您的本地网络是否使用透明代理来过滤流量?在无偏见的网络条件下,我希望SSH调整实际上会增加延迟而不是降低延迟。

另外,您如何衡量延迟?也许你正在使用SSH压缩并测量api响应的传输时间?

更新: 如果在同一台交换机上安装客户端和服务器时得到相同的慢速结果,则这些主机上的网络层听起来有些奇怪。所以例如有一个数据包检查防火墙/病毒扫描程序,拦截所有TCP流量。当通过SSH进行隧道传输时,这当然不会触发,因为现在这个连接似乎是客户端机器上的localhost:localhost。