linux网络测速命令 iperf

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

安装

centos直接使用yum安装:

sudo yum install -y iperf3

也可以源码安装http://code.google.com/p/iperf/downloads/list

gunzip -c iperf.tar.gz | tar -xvf - 
cd iperf
./configure 
make 
make install

UDP模式

服务器端:

iperf -u -s 

客户端:

iperf -u -c 192.168.1.1 -b 100M -t 60  		# 100Mbps发送速率,60秒。 
iperf -u -c 192.168.1.1 -b 5M -P 30 -t 60 	# 30个连接线程,5Mbps 
iperf -u -c 192.168.1.1 -b 100M -d -t 60 	# 100Mbps发送速率,上下行带宽测试。60秒

TCP模式

服务器端:

iperf -s 

客户端:

iperf -c 192.168.1.1 -t 60 在
iperf -c 192.168.1.1 -P 30 -t 60 
iperf -c 192.168.1.1 -d -t 60 

Mbps与MB/s,字节、字、位与比特

bps 是 bit per second 的缩写,意思是「位/秒」

  • bit,位,常用 b 表示,音译为比特。
  • Byte,字节,常用 B 表示。1字节=8位=8比特
  • word,计算机进行数据处理时,一次存取、加工和传送的数据长度称为字(word)。一个字通常由一个或多个字节构成。32位机的字长为4,64位机的字长为8.

我们常见的以太网的规范是 10Mbps,100Mbps,1Gbps:

  10Mbps    =    1280 KB/s  =    1.25 MB/s
 100Mbps    =   12800 KB/s  =   12.50 MB/s
1000Mbps    =  128000 KB/s  =  125.00 MB/s  (1Gbps)

CentOS 7 开机自启动ssh服务

systemctl enable sshd

另外我在某台机器上遇到了一个错误,始终无法启动 ssh,使用 systemctl status sshd.service,内容如下:

sshd.service - OpenSSH server daemon
  Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
  Active: activating (auto-restart) (Result: exit-code) since Wed 2017-12-27 17:38:43 CST; 9s ago
    Docs: man:sshd(8)
          man:sshd_config(5)
 Process: 6860 ExecStart=/usr/sbin/sshd -D $OPTIONS (code=exited, status=255)
Main PID: 6860 (code=exited, status=255)

Dec 27 17:38:43 adsl-172-10-1-100.dsl.sndg02.sbcglobal.net systemd[1]: Failed to start OpenSSH server daemon.
Dec 27 17:38:43 adsl-172-10-1-100.dsl.sndg02.sbcglobal.net systemd[1]: Unit sshd.service entered failed state.
Dec 27 17:38:43 adsl-172-10-1-100.dsl.sndg02.sbcglobal.net systemd[1]: sshd.service failed.

使用 journalctl -xe 得到了有用的信息:

/var/empty/sshd must be owned by root and not group or world-writable.

发现 /var/empty/sshd 文件的属性为777.改为755即可:

chmod 755 /var/empty/sshd