我目前正在進行性能分析。我們有一個基本的客戶/服務器應用程序如果我在同一臺計算機(本地主機)上運行客戶機/服務器而不是在局域網上的兩臺計算機上運行客戶機/本地主機與局域網:速度差異?
回答
TCP傳輸速度會!因爲如果你在同一臺計算機上運行它,它將本地轉發數據包,甚至不需要觸及LAN和網絡適配器。
但是客戶端+服務器的整體速度在不同的機器上可能會更好,特別是如果您不經常與服務器通信。
這完全取決於你的應用程序做什麼....
爲例: 如果從客戶端傳輸10GB的文件服務器,那麼,它會有所作爲。
是的,通過網絡發送它的延遲會降低程序的速度。吞吐量不會,但如果您在發送數據之前等待回覆,則會由於額外的延遲而建立起來。
對於本地主機,我得到0.024ms的ping時間,用於ping我的路由器,我得到0.339ms的時間 – Earlz 2010-03-02 18:02:47
LnDCobra,這實際上是一個很好的答案。 「如果你在等待回覆」......當你與Skype上的某個人聊天時會發生這種情況。由於幾毫秒的延遲,整個對話速度變慢。 – 2010-03-02 18:12:11
是的,如果你認爲0.024和0.339之間的差異很大,根據這些時間localhost比LAN快15倍。 – 2010-03-02 18:43:06
我不知道它是否可衡量(也取決於你的局域網的速度),但從邏輯的角度來看,當然是有區別的。本地主機將始終是最快的,因爲數據不是通過其他介質(如空氣或銅線)發送的。
但取決於您的應用程序的作用,這可能或可能不重要。
使用本地主機時,由於內存,磁盤,CPU等原因,本地資源更可能成爲性能瓶頸。使用兩臺計算機時,由於延遲,帶寬,吞吐量等原因,網絡更可能成爲瓶頸。數據包丟失等。
這取決於您的應用程序的功能以及它如何使用網絡,客戶端和服務器。
如果客戶端和服務器在同一臺計算機上,傳輸時間幾乎肯定會更快。根據客戶端和服務器消耗的其他資源,這對於整個程序的性能而言可能並不重要。
我剛剛在一個項目上遇到了這個問題。與localhost一起使用UDP至少比網絡連接快一個數量級(可能兩個數量級),並且我相信在本地主機上,網絡端口通常不存在1500的MTU上限。
一個未經證實的懷疑是PC上內置的網絡端口並不都是相同的質量,所以即使他們聲稱是千兆位,也可能無法真正走得這麼快。但它也可能導致大量的Windows系統調用(每個數據包有一個操作系統調用)可能是一個很大的開銷。通過TCP,我可以在一次調用中向操作系統傳遞大量數據。使用UDP時,我必須一次將它傳遞給一個數據包,受到MTU大小的限制,從而導致大量的OS調用。但尚未證實。
還沒有嘗試過Linux。
- 1. 差異網頁本地主機和主機服務器
- 2. 本地主機和遠程站點之間的AJAX速度差異
- 3. 通過局域網查看本地主機站點
- 4. 通過局域網訪問django本地主機服務器
- 5. 跨域Silverlight問題與本地主機
- 6. 本地主機上的子域與Nginx
- 7. PHP主機沒有局域網
- 8. 主機在局域網中未解析
- 9. MATLAB scatter3,plot3速度差異
- 10. 將Docker上的Piwigo映射到主機的局域網地址
- 11. 從局域網中的IP地址查找DNS主機名
- 12. 從局域網中的主機名獲得IP地址
- 13. hdfs局域網IP地址主機名解析
- 14. 當在本地主機上運行遠程主機時,CSS的差異
- 15. Chrome在本地主機和服務器上的差異
- 16. 本地主機和(LocalDb)/ MSSQLLocalDB之間的SQL差異
- 17. 解決有關通過局域網訪問本地主機的問題
- 18. 網站與機器名稱,但不與本地主機
- 19. 簡單的方法來衡量局域網計算機的LAN網絡速度?
- 20. 在不同的主機名下查看局域網上的局域網
- 21. joomla網站與地區差異
- 22. 與本地主機:3000
- 23. 如何加速netbeans的本地主機?
- 24. ASP.NET - 本地主機上的瀏覽器速度
- 25. 本地主機上的Firefox速度很慢
- 26. 本地主機在新帖子上查詢速度很慢
- 27. 爲什麼我的網站在本地主機上速度較慢並且速度很快?
- 28. 本地主機上的網站速度很慢,服務器上的速度很慢
- 29. 模擬本地主機上的低速互聯網連接
- 30. 全局變量和對象變量之間的速度差異
@Andrey:這不一定是真的。如果應用程序指示它使用網絡層進行傳輸,則本地連接仍使用回送通過適配器傳遞。 – 2010-03-02 18:09:05
請解釋應用程序如何指示使用網絡? – Andrey 2010-03-02 18:12:10