2010-01-18 61 views
1

我们在专用服务器上托管我们的网络服务。 有时候(我会说20分之1)没有收到服务器的响应。 这会导致浏览器出现超时错误。HTTP请求偶尔不会到达服务器。为什么?

一个重要细节:在这种情况下,请求不会被Apache记录。

有是Apache空载,也有很多免费的内存和CPU左侧。

[UPDATE] 我已成型的问题的情况下用tcpdump工具。 这些是由tcpdump跟踪的好的和坏的会话。 这两个实验中的请求都是相同的。 好 - 服务器返回响应。 不好 - 没有响应,超时错误。

你明白为什么这些数据会发生问题吗? 如何进一步接近错误的来源?

我已经取代了我的真实IP地址与123.45.67.890

---- Bad ---- 
12:23:36.366292 IP 123.45.67.890.61749 > myserver.superbservers.com.www: S 2125316338:2125316338(0) win 8192 <mss 1460,nop,wscale 2,nop,nop,sackOK> 
12:23:39.362394 IP 123.45.67.890.61749 > myserver.superbservers.com.www: S 2125316338:2125316338(0) win 8192 <mss 1460,nop,wscale 2,nop,nop,sackOK> 
12:23:45.365567 IP 123.45.67.890.61749 > myserver.superbservers.com.www: S 2125316338:2125316338(0) win 8192 <mss 1460,nop,nop,sackOK> 
-------- 

---- Good ---- 
12:27:07.632229 IP 123.45.67.890.63914 > myserver.superbservers.com.www: S 3581365570:3581365570(0) win 8192 <mss 1460,nop,wscale 2,nop,nop,sackOK> 
12:27:10.620946 IP 123.45.67.890.63914 > myserver.superbservers.com.www: S 3581365570:3581365570(0) win 8192 <mss 1460,nop,wscale 2,nop,nop,sackOK> 
12:27:10.620969 IP myserver.superbservers.com.www > 123.45.67.890.63914: S 2654770980:2654770980(0) ack 3581365571 win 5840 <mss 1460,nop,nop,sackOK,nop,wscale 6> 
12:27:10.838747 IP 123.45.67.890.63914 > myserver.superbservers.com.www: . ack 1 win 4380 
12:27:10.957143 IP 123.45.67.890.63914 > myserver.superbservers.com.www: P 1:213(212) ack 1 win 4380 
12:27:10.957152 IP myserver.superbservers.com.www > 123.45.67.890.63914: . ack 213 win 108 
12:27:10.965543 IP myserver.superbservers.com.www > 123.45.67.890.63914: P 1:630(629) ack 213 win 108 
12:27:10.965621 IP myserver.superbservers.com.www > 123.45.67.890.63914: F 630:630(0) ack 213 win 108 
12:27:11.183540 IP 123.45.67.890.63914 > myserver.superbservers.com.www: . ack 631 win 4222 
12:27:11.185657 IP 123.45.67.890.63914 > myserver.superbservers.com.www: F 213:213(0) ack 631 win 4222 
12:27:11.185663 IP myserver.superbservers.com.www > 123.45.67.890.63914: . ack 214 win 108 
-------- 

托管:SuperbHosting 操作系统:Ubuntu的

+0

这是一个AJAX呼叫丢失还是一个完整的页面请求? – 2010-01-18 19:12:47

+0

整页请求丢失。 – Pavel 2010-01-18 19:31:34

回答

1

我不认为这是你问的,因此这类的问题或任何其他论坛 - 你应该首先向自己提出这个问题。

我建议运行一系列测试:在一段时间 2更长量 1)简单的ping)在计算机上运行的嗅探器和服务器上 - 看看发生了什么事情在那里。

根据结果,你可以尝试一些其他的事情。

+0

谢谢。到目前为止,我有以下细节。 1. Ping失败。 1个,共40个 2。客户端嗅探器(HTTP分析器)在出现错误时不显示响应。 我打算用服务器上的wireshark跟踪网络数据包。虽然我不是网络专家,但不知道如何解释数据。 – Pavel 2010-01-18 19:36:15

+1

由于ping也失败,它似乎是一个网络问题,就像你和你的服务器之间的路径上的重载链接。也许traceroute可以帮助找到你的数据包丢失的位置? – Wim 2010-01-18 19:45:12

+0

我有使用tcpdump分析服务器网络流量。查看问题的更新。你能告诉从垃圾堆为什么服务器不响应? – Pavel 2010-01-19 10:07:15

1

数据包在路径上的某处丢弃。互联网是一个非常大的网络,每个链路都是数据包可能丢失的潜在点。除了没有响应从服务器返回,tcpdump不会告诉你任何东西。

您可以尝试在Windows上的UNIX的traceroute或tracert命令可能找到一个路由问题。您也可以尝试使用托管工具(如http://network-tools.com/)来查看它是否具有相同的数据包丢失。如果没有,那么这将指向你的源网络是问题,而不是你的网络服务器所在的网络。

0

我会说这是你需要联系你的托管服务提供商的情况。他们很可能会要求您提供traceroute来开始,但他们应该能够进一步帮助您。

正如hwatkins指出的,这绝对是一个网络问题。不幸的是,“网络问题”可能意味着您的服务器主机中的TCP/IP堆栈,您的服务器和Internet之间的链接或某处的其他主干组件。

这是“你需要调用骑兵”的经典案例。 :)

希望这会有所帮助。

相关问题