Linux 测试工具

网络技巧 风为裳 6浏览 0评论 繁體

Linux下使用Zench,speedtest-cli,UnixBench测试硬盘,性能,网络,配置脚本。

Zench Linux

特点

  • 支持中文
  • 测速节点较全
  • 路由追踪
  • 生成精美的网页报告

演示地址:网页版

项目地址:Github

使用方法

如果中文版出现乱码等情况,请换成英文版。

中文版

wget -N --no-check-certificate https://raw.githubusercontent.com/FunctionClub/ZBench/master/ZBench-CN.sh && bash ZBench-CN.sh

英文版

wget -N --no-check-certificate https://raw.githubusercontent.com/FunctionClub/ZBench/master/ZBench.sh && bash ZBench.sh

 

 

Speedtest-cli

speedtest-cli是一个使用python编写的命令行脚本,通过调用speedtest.net测试上下行的接口来完成速度测试。

项目地址:Github
python支持版本:2.4-3.7

安装

pip install speedtest-cli

或者

easy_install speedtest-cli

Github+pip

pip install git+https://github.com/sivel/speedtest-cli.git

或者

git clone https://github.com/sivel/speedtest-cli.git
python speedtest-cli/setup.py install

下载脚本方式

wget --no-check-certificate https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
chmod +x speedtest.py

或者

curl -Lo -k speedtest.py https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
chmod +x speedtest.py

运行

./speedtest.py

或者使用python运行

python speedtest.py

Speedtest-cli使用方法

$ speedtest-cli -h
usage: speedtest-cli [-h] [--no-download] [--no-upload] [--bytes] [--share]
                     [--simple] [--csv] [--csv-delimiter CSV_DELIMITER]
                     [--csv-header] [--json] [--list] [--server SERVER]
                     [--exclude EXCLUDE] [--mini MINI] [--source SOURCE]
                     [--timeout TIMEOUT] [--secure] [--no-pre-allocate]
                     [--version]

使用speedtest.net测试互联网带宽的命令行界面
--------------------------------------------------------------------------
https://github.com/sivel/speedtest-cli

可选参数:
  -h, --help            显示此帮助消息并退出
  --no-download         不要执行下载测试
  --no-upload           不要执行上传测试
  --bytes               以字节而不是位显示值。不影响分享图像输出
  --share               生成并提供speedtest.net共享结果图像的URL,不显示--csv
  --simple              禁止详细的输出,只能显示基本信息
  --csv                 禁止详细输出,仅显示CSV格式的基本信息。
  --csv-delimiter CSV_DELIMITER 用于CSV输出的单字符分隔符。 默认','
  --csv-header          print CSV标头
  --json                禁止详细的输出,只显示JSON格式的基本信息。
  --list                显示按距离排序的speedtest.net服务器列表
  --server SERVER       指定要测试的服务器ID。 可以填写多个
  --exclude EXCLUDE     排除选择的服务器。 可以填写多哥
  --mini MINI           Speedtest Mini服务器的URL
  --source SOURCE       源IP地址绑定到
  --timeout TIMEOUT     HTTP超时(秒)。 默认10
  --secure              与speedtest.net运营的服务器通信时,使用HTTPS而不是HTTP
  --no-pre-allocate     不要预先分配上传数据。 默认情况下启用预分配以提高上载性能。 要支持内存不足的系统,请使用此选项以避免内存错误
  --version             显示版本号并退出

使用示例

列出所有在中国的测试服务器

speedtest-cli --list | grep China

#使用脚本安装方式

./speedtest.py --list | grep China

#输出结果示例

3973)           China Telecom (Lanzhou, China) [11615.43 km]
服务器所在地ID    中国电信          兰州,中国         距离

测试指定地方服务器并分享

speedtest-cli --server=3973 --share

#使用脚本安装方式

./speedtest.py --server=3973 --share

 

 

 

回程路由测试

Ping

一键脚本,测试到国内ping值。

安装

wget https://raw.githubusercontent.com/wn789/Mping/master/mping.sh

使用

bash mping.sh

 

 

 

BestTrace

测试本地网络与服务器的线路走向。

安装

wget https://raw.githubusercontent.com/nanqinlang-script/testrace/master/testrace.sh

使用

bash testrace.sh

运行后有三个选项
1.选择一个节点进行测试
2.四网路由快速测试
3.手动输入ip进行测试

脚本的安装目录位于/home/testrace
测试完成并退出脚本后,会生成测试的记录文件于/home/testrace/testrace.log

 

本地→服务器的测试

本地测试到服务器的软件可以到官方ipip.net下载。支持全平台。

 

 

效果图

 

 

 

MTR

MTR是一款网络诊断工具,包含了traceroute与ping的功能。

安装与使用

centos

yum -y install mtr
mtr -rw 8.8.8.8

debian或ubuntu

apt-get -y install mtr
mtr -rw 8.8.8.8

结果说明

   HOST: debian               Loss%   Snt   Last   Avg  Best  Wrst  StDev
   IP地址或本机域名           丢包率   数据包  最近  平均值 最好  最差 标准偏差  
  1.|-- host.net               0.0%    10    0.5   5.5   0.5  25.6   8.6
  2.|-- 10.99.99.5             0.0%    10    0.4   3.2   0.4  22.9   7.0
  3.|-- 218.30.53.149          0.0%    10    0.8   3.4   0.7  27.2   8.3
  4.|-- 202.97.52.245          0.0%    10    4.3   3.4   1.8   4.7   0.7
  5.|-- 202.97.52.5            0.0%    10  157.7 158.1 156.3 159.6   1.0
  6.|-- 202.97.14.245          0.0%    10  160.3 160.2 160.0 160.5   0.0
  7.|-- 202.97.79.237          0.0%    10  157.4 154.2 151.0 157.9   2.2

 

其他用法

mtr -h #提供帮助命令
mtr -v #显示mtr的版本信息
mtr -r #已报告模式显示
mtr -s #用来指定ping数据包的大小
mtr --no-dns #不对IP地址做域名解析
mtr -a #来设置发送数据包的IP地址 这个对一个主机由多个IP地址是有用的
mtr -i #使用这个参数来设置ICMP返回之间的要求默认是1秒
mtr -4 #IPv4
mtr -6 #IPv6

 

 

Unixbench

UnixBench是一个类unix系(Unix,BSD,Linux)统下的性能测试工具,一个开源工具,被广泛用与测试linux系统主机的性能。Unixbench的主要测试项目有:系统调用、读写、进程、图形化测试、2D、3D、管道、运算、C库等系统基准性能提供测试数据。

最新版本UnixBench5.1.3,包含system和graphic测试,如果你需要测试graphic,则需要修改Makefile,不要注释掉”GRAPHIC_TESTS = defined”,同时需要系统提供x11perf命令gl_glibs库。

下面的脚本使用了最新版UnixBench5.1.3来测试,注释了关于graphic的测试项(大多数VPS都是没有显卡或者是集显,所以图像性能无需测试),运行10-30分钟后(根据CPU内核数量,运算时间不等)得出分数,越高越好。

测试方法

wget --no-check-certificate https://github.com/teddysun/across/raw/master/unixbench.sh
chmod +x unixbench.sh
./unixbench.sh

 

 

测试项目

Dhrystone 2 using register variables
此项用于测试 string handling,因为没有浮点操作,所以深受软件和硬件设计(hardware and software design)、编译和链接(compiler and linker options)、代码优化(code optimazaton)、对内存的cache(cache memory)、等待状态(wait states)、整数数据类型(integer data types)的影响。

Double-Precision Whetstone
这一项测试浮点数操作的速度和效率。这一测试包括几个模块,每个模块都包括一组用于科学计算的操作。覆盖面很广的一系列 c 函数:sin,cos,sqrt,exp,log 被用于整数和浮点数的数学运算、数组访问、条件分支(conditional branch)和程序调用。此测试同时测试了整数和浮点数算术运算。

Execl Throughput
此测试考察每秒钟可以执行的 execl 系统调用的次数。 execl 系统调用是 exec 函数族的一员。它和其他一些与之相似的命令一样是 execve() 函数的前端。

File copy
测试从一个文件向另外一个文件传输数据的速率。每次测试使用不同大小的缓冲区。这一针对文件 read、write、copy 操作的测试统计规定时间(默认是 10s)内的文件 read、write、copy 操作次数。

Pipe Throughput
管道(pipe)是进程间交流的最简单方式,这里的 Pipe throughtput 指的是一秒钟内一个进程可以向一个管道写 512 字节数据然后再读回的次数。需要注意的是,pipe throughtput 在实际编程中没有对应的真实存在。

Pipe-based Context Switching
这个测试两个进程(每秒钟)通过一个管道交换一个不断增长的整数的次数。这一点很向现实编程中的一些应用,这个测试程序首先创建一个子进程,再和这个子进程进行双向的管道传输。

Process Creation
测试每秒钟一个进程可以创建子进程然后收回子进程的次数(子进程一定立即退出)。process creation 的关注点是新进程进程控制块(process control block)的创建和内存分配,即一针见血地关注内存带宽。一般说来,这个测试被用于对操作系统进程创建这一系统调用的不同实现的比较。

System Call Overhead
测试进入和离开操作系统内核的代价,即一次系统调用的代价。它利用一个反复地调用 getpid 函数的小程序达到此目的。

Shell Scripts
测试一秒钟内一个进程可以并发地开始一个 shell 脚本的 n 个拷贝的次数,n 一般取值 1,2,4,8。(我在测试时取 1, 8)。这个脚本对一个数据文件进行一系列的变形操作(transformation)。

转载请注明:风为裳 » Linux 测试工具

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址