Linux VPS性能简单测试方法

Linux VPS(虚拟私有服务器)上进行性能测试,可以帮助了解服务器的处理能力、内存、磁盘和网络性能。测试结果可能受到网络条件、服务器当前负载和其他因素的影响,因此建议多次测试以获得准确的结果。

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是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进程的优先级
NInice level
SIZE进程拥有的内存
(包括code segment + data segment + stack segment)
RSS物理内存使用
VIRT进程需要的虚拟内存大小
RES常驻内存
SHARE和其他进程共享的物理内存空间
STAT进程的状态,有 S=sleeping,R=running,
T=stopped or traced,D=interruptible sleep
(不可中断的睡眠状态),Z=zombie。
%CPUCPU使用率
%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)。
推荐阅读
cjavapy编程之路首页