Bootstrap
购买了vps我们都要查看一下CPU信息是否与标准一致,测试一下磁盘IO和网络速度。本文主要介绍一下简单的测试方法。

1、查看CPU、内存、硬盘信息的命令

1)查看CPU信息

cat /proc/cpuinfo

2)查看内存信息

cat /proc/meminfo

3)查看硬盘信息

df -lh

4)查看是否64位版本

getconf LONG_BIT

5)查看内核版本信息

cat /proc/version

6)查看linux版本

cat /etc/redhat-release

2、测试硬盘IO性能命令

参数说明:
if=FILE:指定输入文件,若不指定则从标注输入读取。这里指定为/dev/zero是http://www.2cto.com/os/linux/" target="_blank">Linux的一个伪文件,它可以产生连续不断的null流(二进制的0)。
of=FILE:指定输出文件,若不指定则输出到标准输出。
bs=BYTES:每次读写的字节数,可以使用单位K、M、G等等。另外输入输出可以分别用ibs、obs指定,若使用bs,则表示是ibs和obs都是用该参数。
count=BLOCKS: 读取的block数,block的大小由ibs指定(只针对输入参数)。

1)dd if=/dev/zero of=test bs=64k count=4k oflag=dsync

使用示例:

[root@kvm2 ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[root@kvm2 ~]# dd if=/dev/zero of=test bs=64k count=4k oflag=dsync
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 12.0129 s, 22.3 MB/s

2)dd if=/dev/zero of=test bs=8k count=256k conv=fdatasync

使用示例:

[root@kvm2 ~]# dd if=/dev/zero of=test bs=64k count=4k conv=fdatasync
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 0.252178 s, 1.1 GB/s

3)两种命令区别

① 使用oflag=dsync,dd会从/dev/zero中,每次读取4Kbytes数据,然后直接写入到硬盘当中,重复此步骤,直到共读取完成。
② 使用conv=fdatasync,dd会从/dev/zero中一次性读取所有的数据,写入到磁盘的缓存中,然后再从磁盘缓存中读取,一次性写入到硬盘当中。

总结:
由于第一种oflag=dsync读取的次数多,所以会出现conv=fdatasync比oflag=dsync速度快很多的情况。

3、使用wget命令测试下载速度

wget  http://cachefly.cachefly.net/100mb.test

注意:如果没有wget命令,则需要手动安装。例如,CentOS下安装wget命令:

yum install -y wget

4、使用ping命令测试一下网络延迟情况

我一般测试都是在自动的电脑上ping vps的ip,例如:

ping 72.14.191.202
正在 Ping 72.14.191.202 具有 32 字节的数据:
来自 72.14.191.202 的回复: 字节=32 时间=322ms TTL=48
来自 72.14.191.202 的回复: 字节=32 时间=331ms TTL=48
来自 72.14.191.202 的回复: 字节=32 时间=307ms TTL=48
来自 72.14.191.202 的回复: 字节=32 时间=322ms TTL=48

如果是做中文网站,延迟在250ms之内还是可以接受的。太高了网站响应太慢了。

5、使用top命令查看系统资占用情况, top是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

字段说明:

PID: 进程描述符
USER: 进程的拥有者
PRI:进程的优先级
NI: nice level
SIZE:进程拥有的内存(包括code segment + data segment + stack segment)
RSS: 物理内存使用
VIRT(virtul memory usage):进程需要的虚拟内存大小
RES(resident memory usage): 常驻内存
SHARE: 和其他进程共享的物理内存空间
STAT:进程的状态,有 S=sleeping,R=running,T=stopped or traced,D=interruptible sleep(不可中断的睡眠状态),Z=zombie。
%CPU: CPU使用率
%MEM: 物理内存的使用
TIME: 进程占用的总共cpu时间
COMMAND:进程的命令

1)终端中直接执行top命令,在top的程序中使用的快捷键:

t:用于是否显示总的统计数据,也就是下面这两行

Tasks: 65 total, 2 running, 63 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.2%us, 0.1%sy, 0.0%ni, 99.6%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st

m:用户是否显示内存的信息,也就是下面这两行

Mem: 500472k total, 282756k used, 217716k free, 82496k buffers
Swap: 0k total, 0k used, 0k free, 61052k cached

A: 根据单窗口切换成多窗口,可以看到四个不同的窗口,可以通过a或者w来切换多个窗口。 四个窗口的名字分别为:Def,Job,Mem,Usr

f:进入一个动态配置top的screen中,可以根据自己的喜好配置top
o:对top的现有配置排序(order)
r:使用renice命令
k:使用kill命令
d:更改刷新时间,单位是秒。

2)命令行使用方式

top -b :批量处理模式,加上-b后,top显示的时候,将每一次显示的结果都打印出来,不会将上一次的结果给冲掉。
top -p pid: 显示某个进程的信息,如果是多个进程,top -p pid1,pid2,pid3。
top -u username:显示某个用户的进程信息。
top -H :显示线程的信息,而不是进程的信息。
top -d ntime:设置刷屏的时间(单位为s)。