测试linux?linux搭建测试环境

大家好,今天来为大家解答测试linux这个问题的一些问题点,包括linux搭建测试环境也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

linux测试网速的工具

1、fast

是Netflix提供的一项服务,它不仅可以通过命令行来使用,而且可以直接在Web端使用:fast.com,我们可以通过以下命令来安装这个工具:

$ npm install--global fast-cli

不管是网页端还是命令行,它都提供了最基本的网络下载测速。命令行下最简单的使用方法如下:

$ fast

93 Mbps↓

从以上结果可以看出,直接使用fast命令的话,将只返回网络下载速度。如果你也想获取网络的上传速度,则需要使用-u选项。

$ fast-u

⠧ 81 Mbps↓/ 8.3 Mbps↑

2、speedtest

是一个更加知名的工具。它是用Python写成的,可以使用apt或pip命令来安装。你可以在命令行下使用,也可以直接将其导入到你的 Python

项目,使用的时候,可以直接运行speedtest命令即可:

$ speedtest

Retrieving speedtest.net configuration...

Testing from Tencent cloud computing(140.143.139.14)...

Retrieving speedtest.net server list...

Selecting best server based on ping...

Hosted by Henan CMCC 5G(Zhengzhou) [9.69 km]: 28.288 ms

Testing download

speed................................................................................

Download: 56.20 Mbit/s

Testing upload

speed......................................................................................................

Upload: 1.03 Mbit/s

从运行结果可以看出,speedtest命令将直接提供上传/下载速率,测试的过程也是挺快的。你可以编写一个脚本来调用这个命令,然后定期进行网络测试,并在结果保存在一个文件或数据库,这样你就可以实时跟踪你的网络状态。

3、iperf

是一个网络性能测试工具,它可以测试TCP和UDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽,延迟抖动和数据包丢失。利用iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。

这个工具不仅仅在Linux系统下可以用,在Mac和Windows系统同样可以使用。

如果你想测试网络带宽,则需要两台电脑。这两台电脑需要处于同样的网络,一台作为服务机,另一台作为客户机,并且二者必须都要安装

iPerf,可以通过如下命令获取服务器的IP地址:

$ ip addr show| grep inet.*brd

inet 192.168.242.128/24 brd 192.168.242.255 scope global dynamic

noprefixroute ens33

之后,我们再在服务机上启动iperf工具:

$ iperf-s

然后,我们就可以等待客户机的接入了。客户机可以使用以下命令来连上服务机:

$ iperf-c 192.168.242.128

通过几秒钟的测试,它就会返回网络传输速率及带宽。

linux中利用UnixBench进行性能测试

UnixBench是一款开源的测试 unix系统基本性能的工具,是比较通用的测试VPS性能的工具. UnixBench会执行一系列的测试,包括2D和3D图形系统的性能衡量,测试的结果不仅仅只是CPU,内存,或者磁盘为基准,还取决于硬件,操作系统版本,编译器.

   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

   chmod+x unixbench.sh

   ./unixbench.sh

或直接把下面代码保存成unixbench.sh

#!/bin/bash

   PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

   export PATH

   #===============================================================================================

   #  Description: Unixbench for Test

   #===============================================================================================

# Create new soft download dir

   mkdir-p/opt/unixbench;

   cd/opt/unixbench;

# Download UnixBench5.1.3

   if [-s UnixBench5.1.3.tgz ]; then

     echo"UnixBench5.1.3.tgz [found]"

   else

    echo"UnixBench5.1.3.tgz not found!!!download now......"

    if! wget-c

    echo"Failed to download UnixBench5.1.3.tgz,please download it to"/opt/unixbench" directory manually and rerun the install script."

    exit 1

    fi

   fi

   tar-xzf UnixBench5.1.3.tgz;

   cd UnixBench;

yum-y install gcc gcc-c autoconf gcc-c++ time perl-Time-HiRes

#Run unixbench

   sed-i"s/GRAPHIC_TESTS= defined/#GRAPHIC_TESTS= defined/g"./Makefile

   make;

   ./Run;

echo'';

   echo'';

   echo'';

   echo"======= Script description and score comparison completed!=======";

   echo'';

   echo'';

   echo'';

测试项目:

   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)。

下面是我的一个512MB,2核,OpenVZ的VPS的跑分结果:

BYTE UNIX Benchmarks(Version 5.1.3)

System: vpn: GNU/Linux

OS: GNU/Linux-- 2.6.32-042stab076.8--#1 SMP Tue May 14 20:38:14 MSK 2013

Machine: i686(i386)

Language: en_US.utf8(charmap="UTF-8", collate="UTF-8")

CPU 0: Intel(R) Xeon(R) CPU L5520@ 2.27GHz(4533.6 bogomips)

     Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization

CPU 1: Intel(R) Xeon(R) CPU L5520@ 2.27GHz(4533.6 bogomips)

     Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization

09:41:17 up 31 days, 9:21, 1 user, load average: 0.23, 0.05, 0.02; runlevel 3

------------------------------------------------------------------------

   Benchmark Run: Mon Jul 29 2013 09:41:17- 10:09:29

   2 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables      17172222.3 lps  (10.0 s, 7 samples)

   Double-Precision Whetstone                    2600.2 MWIPS(10.0 s, 7 samples)

   Execl Throughput      4152.8 lps  (30.0 s, 2 samples)

   File Copy 1024 bufsize 2000 maxblocks       622759.5 KBps (30.0 s, 2 samples)

   File Copy 256 bufsize 500 maxblocks         172634.3 KBps (30.0 s, 2 samples)

   File Copy 4096 bufsize 8000 maxblocks      1218236.9 KBps (30.0 s, 2 samples)

   Pipe Throughput    1416230.5 lps  (10.0 s, 7 samples)

   Pipe-based Context Switching                206509.4 lps  (10.0 s, 7 samples)

   Process Creation      8568.6 lps  (30.0 s, 2 samples)

   Shell Scripts(1 concurrent)                  3145.9 lpm  (60.0 s, 2 samples)

   Shell Scripts(8 concurrent)                   528.3 lpm  (60.0 s, 2 samples)

   System Call Overhead1528474.7 lps  (10.0 s, 7 samples)

System Benchmarks Index Values              BASELINE      RESULT   INDEX

   Dhrystone 2 using register variables        116700.0  17172222.3  1471.5

   Double-Precision Whetstone                      55.0      2600.2   472.8

   Execl Throughput        43.0      4152.8   965.8

   File Copy 1024 bufsize 2000 maxblocks         3960.0    622759.5  1572.6

   File Copy 256 bufsize 500 maxblocks           1655.0    172634.3  1043.1

   File Copy 4096 bufsize 8000 maxblocks         5800.0   1218236.9  2100.4

   Pipe Throughput      12440.0   1416230.5  1138.4

   Pipe-based Context Switching                  4000.0    206509.4   516.3

   Process Creation       126.0      8568.6   680.0

   Shell Scripts(1 concurrent)                    42.4      3145.9   742.0

   Shell Scripts(8 concurrent)                     6.0       528.3   880.5

   System Call Overhead 15000.0   1528474.7  1019.0

      ========

   System Benchmarks Index Score                960.4

------------------------------------------------------------------------

   Benchmark Run: Mon Jul 29 2013 10:09:29- 10:39:56

   2 CPUs in system; running 2 parallel copies of tests

Dhrystone 2 using register variables      16851634.7 lps  (10.0 s, 7 samples)

   Double-Precision Whetstone                    5182.9 MWIPS(10.0 s, 7 samples)

   Execl Throughput      4101.9 lps  (30.0 s, 2 samples)

   File Copy 1024 bufsize 2000 maxblocks       635244.9 KBps (30.0 s, 2 samples)

   File Copy 256 bufsize 500 maxblocks         174430.2 KBps (30.0 s, 2 samples)

   File Copy 4096 bufsize 8000 maxblocks      1219982.0 KBps (30.0 s, 2 samples)

   Pipe Throughput    1387297.9 lps  (10.0 s, 7 samples)

   Pipe-based Context Switching                196296.1 lps  (10.0 s, 7 samples)

   Process Creation     10889.9 lps  (30.0 s, 2 samples)

   Shell Scripts(1 concurrent)                  4073.7 lpm  (60.0 s, 2 samples)

   Shell Scripts(8 concurrent)                   550.5 lpm  (60.2 s, 2 samples)

   System Call Overhead1538517.4 lps  (10.0 s, 7 samples)

System Benchmarks Index Values              BASELINE      RESULT   INDEX

   Dhrystone 2 using register variables        116700.0  16851634.7  1444.0

   Double-Precision Whetstone                      55.0      5182.9   942.3

   Execl Throughput        43.0      4101.9   953.9

   File Copy 1024 bufsize 2000 maxblocks         3960.0    635244.9  1604.2

   File Copy 256 bufsize 500 maxblocks           1655.0    174430.2  1054.0

   File Copy 4096 bufsize 8000 maxblocks         5800.0   1219982.0  2103.4

   Pipe Throughput      12440.0   1387297.9  1115.2

   Pipe-based Context Switching                  4000.0    196296.1   490.7

   Process Creation       126.0     10889.9   864.3

   Shell Scripts(1 concurrent)                    42.4      4073.7   960.8

   Shell Scripts(8 concurrent)                     6.0       550.5   917.5

   System Call Overhead 15000.0   1538517.4  1025.7

      ========

   System Benchmarks Index Score

linux网络测试命令

linux系统下网络测试命令是什么呢?下面是命令的具体介绍:

linux系统下网络测试常用命令有:ping、telnet、nmap、nc命令等。

1、ping命令:

通常用来测试双方网络是否相通网络是否启动或者测试自己能否联网,如果对方机器禁止ICMP协议ping他的话,是ping不通的。

常见命令参数

-q不显示任何传送封包的信息,只显示最后的结果

-n只输出数值

-R记录路由过程

-c count总次数

-i时间间隔

-t存活数值:设置存活数值TTL的大小

2、telnet命令:

telnet命令用来测试端口是否打开。

常见参数

-8允许使用8位字符资料,包括输入与输出

-a尝试自动登入远端系统

-b主机别名使用别名指定远端主机名称

-c不读取用户专属目录里的.telnetrc文件

-d启动排错模式

-e脱离字符设置脱离字符

-E滤除脱离字符

3、nmap命令

nmap命令用来网络探测工具和安全和端口扫描器。

Nmap以新颖的方式使用原始IP报文来发现网络上有哪些主机,那些主机提供什么服务(应用程序名和版本),那些服务运行在什么操作系统(包括版本信息),它们使用什么类型的报文过滤器/防火墙,以及一堆其它功能。虽然Nmap通常用于安全审核,许多系统管理员和网络管理员也用它来做一些日常的工作,比如查看整个网络的信息,管理服务升级计划,以及监视主机和服务的运行。

常用参数:

–traceroute扫描主机端口并跟踪路由

-p扫描指定端口和端口范围

-sP对目标主机进行ping扫描

-A使用高级功能进行扫描

-PE强制执行直接的ICMPping

4、nc命令

nc(netcat)是功能强大的网络工具,nc可以作为server以TCP或UDP方式侦听指定端口的扫描,nc可以作为client发起TCP或UDP连接

机器之间传输文件,机器之间网络测速。

常用参数:

-l用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。

-p暂未用到(老版本的nc可能需要在端口号前加-p参数,下面测试环境是centos6.6,nc版本是nc-1.84,未用到-p参数)

-s指定发送数据的源IP地址,适用于多网卡机

-u指定nc使用UDP协议,默认为TCP

-v输出交互或出错信息,新手调试时尤为有用

-w超时秒数,后面跟数字

阅读剩余
THE END