如何测试Linux服务器的性能

如何测试Linux服务器的性能,第1张

################### cpu性能查看 ############################################################

1、查看物理cpu个数:

cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l

2、查看每个物理cpu中的core个数:

cat /proc/cpuinfo |grep "cpu cores"|wc -l

3、逻辑cpu的个数:

cat /proc/cpuinfo |grep "processor"|wc -l

物理cpu个数*核数=逻辑cpu个数(不支持超线程技术的情况下)

########################### 内存查看 ################################################################

1、查看内存使用情况:

free -m

total used free sharedbuffers cached

Mem: 3949 2519 1430 0189 1619

-/+ buffers/cache:710 3239

Swap: 3576 0 3576

total:内存总数

used:已经使用的内存数

free:空闲内存数

shared:多个进程共旦旁享的内存总额

- buffers/cache:(已用)的内存数,即used-buffers-cached

+ buffers/cache:(可用)的内存数,即free+buffers+cached

Buffer Cache用于针对磁盘块的读写;Page Cache用于针对文件inode的读写,这些Cache能有效地缩短I/O系统调用的时间。

对于 *** 作系统来说free/used是系统可用/占用的内存;而对于应用程序来说-/+ buffers/cache是可用/占用内存,因为buffers/cache很快就会被使用。我们工作时候应该从应用角度来看。

################# 硬盘查看 ##########################################################################

1、查看硬盘及分区信息:

fdisk -l

2、查看文件系统的磁盘空间占用情况:

df -h

3、查看硬盘的I/O性能(每隔一秒显示一次,显示5次):

iostat -x 1 5

iostat是含在套装systat中的,可以用yum -y install systat来安装。

常关注的参数:

如果%util接近100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。

如果idle小于70%,I/O的压力就比较大了,说明读取进程中有较多的wait。

4、查看linux系统中某目录的大小:

du -sh /root

如发现某个分区空间接近用完,可以进入该分区的挂载点,用以下命令找出占用空间最多的文件或目录,然后按照从大到小的顺序,找出系统中占用最多空间的前10个文件或目录:

du -cksh *|sort -rn|head -n 10

############################################ 查看平均负载 ####################################

有时候系统响应很慢,但又找不到原因,这时就要查看平均负载了,看它是否有大量的进程在排队等待。

最简单的命令:

uptime

查看过去的1分钟、5分钟和15分钟内进程队列中的平均进程数量。

还有动态命令:

top

我们只关心以下部分:

top - 21:33:09 up 1:00, 1 user, load average: 0.00, 0.01, 0.05

如果每个逻辑cpu当前的活动进程不大于3,则系统性能良好;

如果每个逻辑cpu当前的活动进程不大于4,表示可以接受;备樱

如果每个逻辑cpu当前的活动进程大于5,则系统性能问题严重。

一般计算方法:负载值/逻辑cpu个数

还可以仿迟丛结合vmstat命令来判断系统是否繁忙,其中:

procs

r:等待运行的进程数。

b:处在非中断睡眠状态的进程数。

w:被交换出去的可运行的进程数。

memeory

swpd:虚拟内存使用情况,单位为KB。

free:空闲的内存,单位为KB。

buff:被用来作为缓存的内存数,单位为KB。

swap

si:从磁盘交换到内存的交换页数量,单位为KB。

so:从内存交换到磁盘的交换页数量,单位为KB。

io

bi:发送到块设备的块数,单位为KB。

bo:从块设备接受的块数,单位为KB。

system

in:每秒的中断数,包括时钟中断。

cs:每秒的环境切换次数。

cpu

按cpu的总使用百分比来显示。

us:cpu使用时间。

sy:cpu系统使用时间。

id:闲置时间。

标准情况下r和b的值应该为:

r<5,b=0

假设输出的信息中:

如果r经常大于3或4,且id经常少于50,表示cpu的负荷过重。

pi、po长期不等于0,表示内存不足。

bi经常不等于0,且在b中的队列大于2或3,表示io的性能不好。

################################# 其他参数 #####################################

查看内核版本号:

uname -a

简化命令:

uname -r

查看系统是32位还是64位的:

file /sbin/init

查看发行版:

cat /etc/issue

或lsb_release -a

查看系统已载入的相关模块:

lsmod

查看pci设置:

lspci

# yum -y install stress

# yum info stress

Linux stress 命令

https://www.cnblogs.com/sparkdev/p/10354947.html

Linux 压力测试软件 stress 使用指南

https://www.hi-linux.com/posts/59095.html

stress命令

http://blog.sina.com.cn/s/blog_5f50a4c80101pdik.html

官方网址:http://sebastien.godard.pagesperso-orange.fr

# yum -y install sysstat

# yum info sysstat

系统性能监控神器sysstat

https://segmentfault.com/a/1190000015224864

Linux系统维护监控工具集sysstat详解

http://www.ha97.com/1037.html

watch命令 : 周期性执行命令

https://www.linuxcool.com/watch

https://wangchujiang.com/linux-command/c/watch.html

CPU个数、CPU核心数、CPU线程数

https://www.cnblogs.com/kimsimple/p/7787018.html

CPU的线程数概念仅仅只针对Intel的CPU才有用,因为它答弊桐是通过Intel超线程技术来实现的,最早应用在Pentium4上。

如果没有超线程技术,一个CPU核心对应一个线程。所以,对于AMD的CPU来说,只有核心数的概念,没有线程数的概念。 

现在大多数CPU有超线程能力,在计算和评估平均负载的时 候,CPU的核数指的是逻辑核数。

#  yum  -y  install 卜扒 dstat 

# yum info dstat

全能系统监控工具dstat

https://www.cnblogs.com/vincent-hv/p/3358194.html

在计算机中,系统调用(英语:system call),又称为系统呼叫, 指运行在用户空间的程序向 *** 作系统内核请求需要更高权限运行的清坦服务。

https://www.cnblogs.com/duanxz/p/6012768.html

https://blog.csdn.net/cs729298/article/details/81906375

https://www.cnblogs.com/machangwei-8/p/10388883.html

https://zhuanlan.zhihu.com/p/69527356


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12552633.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存