我在做802.11b性能測試。TCP吞吐量取決于文件的大小嗎?在我的測試中,20KB的文件的吞吐量大約是每秒0.5MB,800KB的文件的吞吐量大約是每秒4MB,測試的條件都是相同的。
性能測試是很微妙的。正如你注意到的那樣,測試必須要保持足夠長的時間才能夠得到“穩定的結果”。當你傳送一個很短的文件時,需要一些時間建立FTP控制進程,然后啟動FTP數據進程,上述過程在整個文件傳輸過程中占用了很大一部分時間。在FTP客戶/服務器之間來回通信的時候,無線鏈路沒有工作,因此你沒有測量到這個連接的最大吞吐量。當你傳輸大型文件時,更多的/大多數測試實際上都使用大型數據包,FTP客戶和服務器之間的連接被填滿了。因此,你的每秒4MB的結果比每秒0.5MB的結果更接近這個連接的實際容量。
還有很多因素影響FTP的吞吐量,包括最大段大小(MSS)、TCP窗口大小、文件內容本身、客戶機和服務器之間的跳躍數、這些跳躍數之間的連接的使用、FTP客戶機和服務器系統的應用和網卡的設置等。你應該取消在客戶機和服務器上運行的所有的應用程序,確保你的FTP客戶機和服務器是使用這個無線和有線網絡的惟一系統,減少它們之間的跳躍數(包括集線器和電纜)。
使用足夠大的文件,這樣每一個FTP進程都要使用幾分鐘時間,而不是幾秒鐘的時間。使用相同的文件進行多次測試,去掉最高和最低的測試結果,計算出平均結果,直到這個結果接近一致。以這種方式進行測試可以產生直接對比的測量結果,例如在一個指定的基站,在30英尺和60英尺的距離進行測試并且比較測量的吞吐量,或者使用兩種不同的網卡在同一個基站比較吞吐量。每次測試之間變化的越少,測試的結果就越應該進行比較。