让我先描述一下我的工作环境。我是大学生。我的实验室有四台机器,A,B,C和D通过1Gb / s以太网连接。我有一个集群系统,它使用B和C作为计算从属。这个集群计算系统有一个在机器A上运行的Python HTTP服务器。我想将这个Python HTTP服务器暴露给校园外的其他人。好处是我的实验室已经设置了在机器D上运行的Jetty服务器。这个码头服务器可以在校园外到达。所以我在机器A上设置了一个HTTP代理servlet。我使用从http://www.servletsuite.com/servlets/httpproxy.htm下载的这个servlet。任何进入此servlet的请求都将被定向到我的Python服务。
现在,问题是我发现代理servlet非常慢。通常机器B(群集计算)的实际处理时间仅为0.5秒,但结果需要5秒钟才能响应并显示在我的浏览器上。
为什么?有人在之前遇到过慢的HTTP代理情况吗?
答案 0 :(得分:0)
这似乎很慢,我的第一个想法是,那个servlet在做什么?你有源吗?
接下来的想法是,Jetty显然提供了自己的ProxyServlet。也许他们做得更好。也许你应该尝试一下。
答案 1 :(得分:0)
你说机器A有一个“Python HTTP服务器”。它是基于BaseHTTPServer的处理程序吗?它一次只能处理一个请求:因此请排除任何等待问题。
我猜您使用相同的服务器来接受来自外部的作业,并通过HTTP协议将它们委托给B和C.
诊断路径
同步外部计算机,A和D 完美(使用NTP)并记下以下时间:
发布#1,#2-#3和#3-#4的延迟,以更好地诊断延迟发生的位置。