2014-03-03 82 views
0

我正在嘗試升級我的Web服務器。我已經在使用SSD的RackSpace上創建了最新一代虛擬服務器的全新實例。在這個全新的情況下,我安裝了以下內容:什麼可能導致成功的FTP傳輸在全新的RackSpace SSD服務器上被截斷?

  1. 谷歌瀏覽器
  2. 的FileZilla FTP客戶端

我然後連接到的FileZilla FTP服務器不同的服務器,其託管2個圖像文件上我正在使用來測試。然後我下載了2個圖像文件,FileZilla報告爲「成功傳輸」。但是,兩個圖像文件都被截斷了!什麼可能造成這種情況?

Incorrect file size after transfer

有幾件事情需要注意:

  • 這隻有在使用SSD發生在新的實例。如果我在沒有SSD的情況下創建一個相同的實例(使用SATA),則不會發生錯誤。
  • 在傳輸文件的服務器上,文件也被報告爲已成功傳輸。此服務器已被用作FTP服務器很長一段時間,沒有任何問題。
  • 如果我將新的SSD實例設置爲FTP服務器並上傳一堆文件,其中一些文件會被隨機截取2-10KB。在大約150MB的上傳中,我最終可能會丟失150-200KB。如果我再次傳輸它們,文件的不同子集將被截斷。
  • 如果我將FTP服務器上的傳輸速度限制爲100KB/s,則2個映像文件成功傳輸而不會被截斷。如果我將傳輸速度限制爲500KB/s,則圖像文件將以與沒有節流的方式相同的方式截斷。

關於這可能發生的任何想法?

更新:它與FileZilla無關。下面是使用FTP命令行就同一問題:

Incorrect filesizes

+0

討厭!我會嘗試從命令行手動執行FTP,看看我能否排除FileZilla。我也會嘗試做PUT以及GET,看看方向是否有所作爲。您必須以某種方式縮小此問題的範圍...... –

+0

對於上面的第三個要點(隨機文件在我上傳到新服務器時被截斷),無論我在新的服務器上運行的特定FTP服務器如何,都會發生此問題實例(我已經嘗試了FileZilla和IIS的FTP)。 – JDub

+0

這聽起來很基本塞滿。你可以SSH入服務器並運行一個腳本,不斷創建隨機大小的文件,然後測試它們是正確的長度? –

回答

3

該解決方案記錄在這裏:http://www.rackspace.com/knowledge_center/article/disabling-tcp-offloading-in-windows-server-2012

這篇文章是針對Windows Server 2012在我的情況,我使用Windows Server 2008 。要進入網絡適配器的屬性,去

  1. 右鍵點擊電腦 - >屬性
  2. 設備管理器
  3. 開拓網絡適配器下拉,右鍵 - >屬性
  4. 進入高級選項卡
  5. 禁用一切,除了UDP校驗和卸載。

重要注意事項:如果只有部分選項被禁用,您會注意到性能大幅下降。禁用所有必要的選項後,性能將恢復到正常水平。

+0

你應該解釋_why_ TCP卸載可能會導致這樣的錯誤。 –

+0

不幸的是,我不知道爲什麼會這樣。我在Rackspace支持的幫助下完成了此修復。 – JDub

0

它說傳輸完成的原因是因爲關閉套接字不幸的是FTP如何定義完成的傳輸。 (它打開數據連接併發送數據,關閉連接意味着文件完全發送。)

由於某種原因,好像連接過早關閉。

就我個人而言,這聽起來真的很奇怪,它可能是驅動程序問題或硬件問題,但我會嘗試:
1.嘗試被動模式FTP。命令行客戶端默認使用PORT模式。 PASV更加防火牆友好。
2.嘗試禁用所有軟件防火牆(如Windows防火牆)並重試。

相關問題