簡體   English   中英

如何測試Socket的速度?

[英]How to test the speed for Socket?

我編寫了一個可以在2台服務器之間轉發ip數據包的程序,那么如何測試程序的速度呢? 謝謝!

您的潛在用戶可能會對許多通信指標感興趣。

延遲是發送消息的時間量,對於共址設備通常以微秒為單位,對於所有其他方案通常以毫秒為單位。 它通常被稱為“零字節延遲”,意味着傳輸消息的元數據所需的時間。 越低越好。

帶寬以每秒位數為單位。 它通常被稱為“峰值帶寬”,可以通過在線路上發送大量數據來獲得。 越高越好。

CPU利用率是傳輸消息所需的CPU時間百分比。 可以卸載消息傳輸的網絡協議具有低利用率,這意味着通信可以“重疊”用戶應用程序中的一些其他計算,這具有隱藏延遲的效果。 越低越好。

所有這些都是通過ping測試的變化來測量的,通常稱為“乒乓”:

Node 1:
    for n = 1 to MAXSIZE, step via n*=2
    send message of size n bytes
    receive a response of size n bytes

Node 2:
    for n = 1 to MAXSIZE, step via n*=2
    receive a message of size n bytes
    send response of size n bytes

還有一個“ping-ping”測試,其中兩個節點同時相互寫入。 這需要非阻塞通信來進行設置。

只輸出n和每次迭代所需的時間。 第一次是零字節延遲。 最大的可持續 n/time是帶寬(轉換為每秒比特為行業標准)。 您還可以測量運行較大迭代所需的CPU利用率,但對於整個不同的問題,這是一個棘手的主題。

看看iperf。 你可以在http://sourceforge.net/projects/iperf/找到它。如果你在谷歌周圍,你會找到它的教程。 您可以查看源代碼,並可能會了解他是如何做到這一點的。 我用它進行常規測試,非常強大

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM