遅ればせながら、さくらのVPS (旧プラン512) のUnixBench を実施して計測してみました では、さくらのVPSのCPUの速度、ディスクの速度などをUnixBench を使って計測してみました。
今回は、通信速度の計測です。
ここでは、nuttcp を使って、通信速度がどれくらいなのか簡単に計測してみます。
サーバー、クライアント型の通信速度を計測するためのソフトウェアです。
いろんなオプションを指定することで、いろんなパターンの通信速度を計測することができます。
- 目次
- 履歴
2017年8月07日 CloudCore終了追記
2012年3月3日 初版
nuttcpで実測するまで
さくらのVPSをnuttcpで実測するまでの簡単な過程を解説しておきます。
ここでは、
- サーバー側 : さくらのVPS
- クライアント側 : CloudCore VPS
として、nuttcpを実行するまでを簡単に解説してみます。
nuttcpの環境を整える
以下の作業をサーバー側(さくらのVPS)、クライアント側(CloudCore VPS)で実施します。
- nuttcpの最新ファイルをダウンロードする。
$ wget http://www.lcp.nrl.navy.mil/nuttcp/nuttcp-6.1.2.tar.bz2 ...
現在の最新バージョンが、6.1.2だったので、そのバージョンをダウンロードしてみました。
最新バージョンは、 http://www.lcp.nrl.navy.mil/nuttcp/で確認しましょう。適当なディレクトリで解凍しておきます。
$ tar xvfj nuttcp-6.1.2.tar.bz2 ...
- nuttcpをコンパイルする。
$ cd nuttcp-6.1.2 $ make ...
ここでエラーがでない場合は、 実行ファイルの無駄な情報を削除し、 実行ファイル名がバージョン情報まで含めているので、計測するときに楽なように名前を変更しておきます。
$ strip nuttcp-6.1.2 $ mv nuttcp-6.1.2 nuttcp
これで、いつでも実行できるような状態です。 以下のようにnuttcp -Vでバージョン情報を出力してみてください。
$ ./nuttcp -V nuttcp-6.1.2
nuttcpで実測する
- サーバー側でnuttcp のサーバーを起動する。
[ サーバー側(さくらのVPS) ]
$ ./nuttcp -S
さくらのVPS側 では、サーバーとして起動しておきます。
- クライアント側でnuttcp のクライアントを起動し、サーバー側へアクセスする。
[ クライアント側(CloudCore VPS) : 下り計測 ]
$ ./nuttcp -B -i1 xxx.xxx.xxx.xxx ...
[ 各パラメータの意味 ]
-B : トラフィックの受信のみ計測を行う。
-i1 : テストの実行中に1秒ごとの伝送速度を表示する。
xxx.xxx.xxx.xxx : さくらのVPSのIPアドレス
[ クライアント側(CloudCore VPS) : 上り計測 ]
$ ./nuttcp -D -i1 xxx.xxx.xxx.xxx ...
[ 各パラメータの意味 ]
-D : トラフィックの送信のみ計測を行う。
-i1 : テストの実行中に1秒ごとの伝送速度を表示する。
xxx.xxx.xxx.xxx : さくらのVPSのIPアドレス
以下は、nuttcpのヘルプ画面です。各オプションについて解説があります。
デフォルトのTCPポート番号は、5001(サーバー側) , 5000(クライアント側) が使用される点に注意しましょう。$ ./nuttcp -h Usage: nuttcp or nuttcp -h prints this usage info Usage: nuttcp -V prints version info Usage: nuttcp -xt [-m] host forward and reverse traceroute to/from server Usage (transmitter): nuttcp [-t] [-options] [ctl_addr/]host [3rd-party] [<in] |(receiver): nuttcp -r [-options] [host] [3rd-party] [>out] -4 Use IPv4 -6 Use IPv6 -c## cos dscp value on data streams (t|T suffix for full TOS field) -l## length of network write|read buf (default 1K|8K/udp, 64K/tcp) -s use stdin|stdout for data input|output instead of pattern data -n## number of source bufs written to network (default unlimited) -w## transmitter|receiver window size in KB (or (m|M)B or (g|G)B) -ws## server receive|transmit window size in KB (or (m|M)B or (g|G)B) -wb braindead Solaris 2.8 (sets both xmit and rcv windows) -p## port number to send to|listen at (default 5001) -P## port number for control connection (default 5000) -u use UDP instead of TCP -m## use multicast with specified TTL instead of unicast (UDP) -M## MSS for data connection (TCP) -N## number of streams (starting at port number), implies -B -R## transmit rate limit in Kbps (or (m|M)bps or (g|G)bps or (p)ps) -T## transmit timeout in seconds (or (m|M)inutes or (h|H)ours) -i## receiver interval reporting in seconds (or (m|M)inutes) -Ixxx identifier for nuttcp output (max of 40 characters) -F flip option to reverse direction of data connection open -a retry failed server connection "again" for transient errors -xP## set nuttcp process priority (must be root) -d set TCP SO_DEBUG option on data socket -v[v] verbose [or very verbose] output -b brief output (default) -D xmit only: don't buffer TCP writes (sets TCP_NODELAY sockopt) -B recv only: only output full blocks of size from -l## (for TAR) --disable-v4-mapped disable v4 mapping in v6 server (default) --enable-v4-mapped enable v4 mapping in v6 server Usage (server): nuttcp -S[f][P] [-options] note server mode excludes use of -s 'P' suboption makes 3rd party {in,out}bound control ports same -4 Use IPv4 (default) -6 Use IPv6 -1 oneshot server mode (implied with inetd/xinetd), implies -S -P## port number for server connection (default 5000) note don't use with inetd/xinetd (use services file instead) -xP## set nuttcp process priority (must be root) --idle-data-timeout <value|minimum/default/maximum> (default: 5/30/60) server timeout in seconds for idle data connection --no3rdparty don't allow 3rd party capability --nofork don't fork server --single-threaded make manually started server be single threaded --disable-v4-mapped disable v4 mapping in v6 server (default) --enable-v4-mapped enable v4 mapping in v6 server Format options: -fxmitstats also give transmitter stats (MB) with -i (UDP only) -frunningtotal also give cumulative stats on interval reports -f-drops don't give packet drop info on brief output (UDP) -f-retrans don't give retrans info on brief output (TCP) -f-percentloss don't give %loss info on brief output (UDP) -fparse generate key=value parsable output -f-beta suppress beta version message -f-rtt suppress RTT info
テストをやるときに、先のTCPポート番号が開放されていないと計測できません。
nuttcpの実施結果
今回は、CentOS 5.7 でさくらのVPS 512プラン および CloudCore VPS で nuttcp 6.1.2 を実施した結果を載せておきます。
[ サーバー : さくらのVPS ] ←→ [ クライアント : CloudCore VPS ] の nuttcp実施結果
[ サーバー : さくらのVPS ] → [ クライアント : CloudCore VPS ] (下り)
|
[ サーバー : さくらのVPS ] ← [ クライアント : CloudCore VPS ] (上り)
|
[ サーバー : CloudCore VPS ] ←→ [ クライアント : さくらのVPS ] の nuttcp実施結果
[ サーバー : CloudCore VPS ] → [ クライアント : さくらのVPS ] (下り)
|
[ サーバー : CloudCore VPS ] ← [ クライアント : さくらのVPS ] (上り)
|
例えば、
「さくらのVPSに比べてCloudCore VPS は、伝送速度が劣る」とは言い切れないことに注意しましょう。
あくまで、ここで調べた限りでは、
さくらのVPS – CloudCore VPS 間の伝送速度でしかありません。
つまり、
KDDI網からさくらのVPSのサーバーをアクセスする場合は、
さくらインターネット網からCloudCore VPSのサーバーをアクセスするより速いだろうことは想像できます。
要は、ここで調べた結果は、あくまで各社のバックボーンの太さと設定が見え隠れする・・・というところです。
少なくとも別の網、例えばNTT網からすると、KDDIへは高速ですし、さくらのVPSは、KDDI,NTTにそれほどの違いはありません。
色々と調べてみるとわかりますが、70から100 Mbps くらいの伝送速度が出ているネットワークでは、それほど問題になるとは思えません。
このnuttcpだけで比較するのは良いことだとは思いませんが、上記の両者は、いずれも良い方なのは間違いなさそうです。
興味のある方は、以下からのどうぞ。いずれもお試し期間があります。
KDDI クラウドコア(CloudCore)は、こちらのKDDI クラウドコア(CloudCore) サイト からどうぞ。
さくらのVPSは、こちらのさくらのVPSサイト からどうぞ。
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない、検索ができないことがあります。
コメントを投稿 :