2016-09-19 130 views
1

我正在使用Linux Apache(Apache/2.2.3 Red Hat),并且在将请求发送到服务器之前,我们不时收到需要大约5分钟的请求。我使用Dynatrace来监视我的应用程序,并使用它可以验证请求是在Apache服务器本身上,然后发送到WebLogic 12应用程序服务器。一旦在应用服务器上,它在毫秒内响应。Apache支持请求?

这似乎持续1-3分钟,然后解决自己。每当发生这种情况时,我正在使用SOAP UI直接调用服务器,并且我似乎无法找到应用程序服务器本身的问题。

我使用WebLogic Apache模块(mod_wl_22.so) 发现下列网站(Weblogic plugin config and troubleshooting),解释了选择非常好(道歉使用链接,但我不能复制整个2页以供参考)。对于这个插件的配置,并具有以下设置:

KeepAliveEnabled Off 
MaxSkipTime 2 
ConnectTimeoutSecs 3 

我看不到在errors.log或access.log的文件的任何错误也是如此。

还有什么事情,我们可以检查调试这个插件多一点,或者尝试,看看这些是5-13秒期间发生前的请求被转发到应用服务器。

+0

我得到了完全相同的问题。我也得到了DynaTrace。但我怀疑这是DNS问题,因为技术上客户端TCP连接只有在DNS解析成功后才能建立? – bjethwan

+0

你是否能够发现任何其他问题与您的设置或它的Dynatrace代理责怪? – bjethwan

+0

我们有几个团队运行不同类型的应用程序。他们的一些应用程序/ apache没有安装,仍然具有相同的行为。所以我老实说不认为DT应该在这里被指责。更改为在Apache配置中使用IP而不是服务器名称似乎解决了我们80%的问题,但我们仍然有每次通话5-6秒的奇怪时间。 我们正计划实施一个Zuul服务基础设施,也就是说,一旦开发者发现了可以被开发者调试的东西。 – Chrispie

回答

1

我们玩过各种卷发/命令来测试服务器的往返行程。最后,我们运行一个测试,连接到连接到端口的一行40x服务器,并记录这些调用的开始时间。由于这只是建立了连接,回来应该是非常快的

因此,我们预计将看到:

14:49:49:1 call 1 
14:49:49:1 call 2 
14:49:49:1 call 3 
14:49:49:1 call 4 
14:49:49:1 call 5 
14:49:49:1 call 6 
14:49:49:1 call 7 
14:49:49:1 call 8 
14:49:49:1 call 9 
... 
14:49:49:1 call 40 

虽然在现实中,我们看到以下

14:49:49:1 call 1 
14:49:50:5 call 2 --> took more than second 
14:49:50:5 call 3 
14:49:50:5 call 4 
14:49:50:5 call 5 
14:49:50:5 call 6 
14:49:52:8 call 7 --> took more than 2 seconds 
14:49:52:8 call 8 
14:49:52:8 call 9 
... 
14:49:52:8 call 40 

每隔调用了在1到5秒之间。从应用的角度来看,没有任何错误。看起来像DNS解析是一个问题。我们运行了相同的测试,但没有连接到myServer:9999,我们立即使用了123.456.789.123:9999。