2010-01-18 59 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之間的鏈接或某處的其他主幹組件。

這是「你需要調用騎兵」的經典案例。 :)

希望這會有所幫助。

相關問題