UNIX 网络性能分析
2009-11-02 00:00:00 来源:WEB开发网使用简单的网络传输测试
判断网络带宽性能的最佳方法是,在与机器收发数据时检查实际的速度。可以使用许多不同的工具执行跨许多应用程序和协议的测试,但是最简单的方法往往是最有效的。
例如,为了判断在使用 NFS 通过网络传输文件时的网络带宽,可以对一个简单的文件传输过程进行计时。为此,使用 mkfile 创建一个大文件(例如使用 $ mkfile 2g 2gbfile 创建一个 2GB 的文件),然后通过网络把它传输给另一台机器并计算花费的时间(见清单 4)。
清单 4. 计算通过网络把文件传输给另一台机器花费的时间$ time cp /nfs/mysql-live/transient/2gbfile .
real 3m45.648s
user 0m0.010s
sys 0m9.840s
应该多次运行测试,然后求出传输过程的平均时间,从而比较准确地了解性能水平。
可以使用清单 5 这样的 Perl 脚本自动地执行复制和计时。
清单 5. 使用 Perl 脚本自动地执行复制和计时#!/usr/bin/perl
use Benchmark;
use File::Copy;
use Data::Dumper;
my $file = shift or die "Need a file to copy from\n";
my $srcdir = shift or die "Need a source directory to copy from\n";
my $count = shift || 10;
my $t = timeit($count,sub {copy(sprintf("%s/%s",$srcdir,$file),$file)});
printf("Time is %.2fs\n",($t->[0]/$count));
在执行脚本时,指定源文件的名称和源目录以及可选的复制次数。然后执行脚本并得到一个时间值(见清单 6)。
更多精彩
赞助商链接