JMeter系列七:linux服务器监控性能测试

测试目的:发现服务器的性能瓶颈

测试范围和性能指标:CPU、内存、磁盘、网络、版本

函数手册命令:man

内存相关

top(内存和cpu):

http://img.mukewang.com/szimg/62d8cdc90924d21609390388.jpg

-h: 帮助

-p: 只能在命令行下使用,监控指定的进程,当监控多个进程时,进程id以逗号分隔

http://img.mukewang.com/szimg/62d8ce0509464f6c04210033.jpg

http://img.mukewang.com/szimg/62d8ce20093e9f9c08910251.jpg

top任务区命令,运行完top命令后使用:

M:按内存使用率排序

P:按CPU使用率排序

z:按彩色/黑白显示

top中的load average:标志了当前系统的负载利用率,三个值分别表示在最后的1分钟、5分钟、15分钟的平均负载值,单核CPU中load average 的值为1时表示满负荷状态,同理在多核cpu中满负荷的load average 的值为1* cpu核数

vmstat(内存):

可监控进程状态、内存、虚拟内存、磁盘IO、CPU的信息

-S:使用指定的单位显示,默认是K(1024 byte), 其余的还有M(1048576字节), k(1000),m(1000000)

http://img.mukewang.com/szimg/62d8ce5f09900a3b07540090.jpg

比如:vmstat  1 2, 1 是指时间间隔;2是指显示多少次

http://img.mukewang.com/szimg/62d8ce98098466c709750251.jpg

free(内存) : 其中

total : 总计物理内存的大小

Used: 已使用多大

Free: 可用有多少

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

buffers/ cached : 磁盘缓存的大小

http://img.mukewang.com/szimg/62d8cf9a097f85d209870219.jpg

————————————————————————————————————————————————————

CPU相关

mpstat :

可以查看多核心cpu中每个计算核心的统计数据

-p: 表示监控哪个cpu,cpu个数在[0, cpu个数-1]中取值,如果不写就默认是监控所有核心的

Interval: 相邻的两次采样的间隔时间

count:采样的次数,count只能和delay 一起使用

注意:如果没有参数,单独运行mpstat则显示系统启动以后所有信息的平均值;有Interval 时,第一行的信息是系统启动以来的平均信息,从第二行开始,输出为前一个Interval 时间段的平均信息;此外,mpstat不是系统自带的命令

http://img.mukewang.com/szimg/62d8e45c0928a00809730134.jpg

http://img.mukewang.com/szimg/62d8e549096ae67d12270299.jpg

​——————————————————————————————————————————————————————————————————

网络:

netstat:

用于显示本机网络链接,运行端口,路由表等信息

-n: 拒绝显示别名,能显示数字的全部转化成数字

-l: 仅列出有在listen(监听)的服务状态

-p: 显示建立相关链接的程序名

-t: 显示tcp 相关选项

-u: 显示udp相关选项

-i: 显示自动匹配接口的信息

-c: 每隔一个固定时间,执行该netstat命令

http://img.mukewang.com/szimg/62d8e8bb092964ff11260320.jpg

rx表示接受

tx 表示发送

drp表示丢失

err表示错误

Iface: 网卡
RX-OK RX-ERR RX-DRP RX-OVR : 网卡正确接收数据包的数量以及发生错误,流失,碰撞的总数
TX-OK TX-ERR TX-DRP TX-OVR : 网卡正确发送数据包的数量以及发生错误,流失,碰撞的总数

——————————————————————————————————————————————————————————————————————

磁盘监控:

实时监控-磁盘

iostat

iostat 是对系统磁盘IO操作进行监控,它的输出主要显示磁盘的读写操作的统计信息。同时给出cpu的使用情况。
iostat -x 默认所有磁盘设备
iostat -x sda(设备名称)
iostat -x sda 1(一秒打印一次)

http://img.mukewang.com/szimg/62a576c4095430ed18860706.jpg

各个列的详细说明可参考:

https://blog.csdn.net/weixin_38428439/article/details/121525172


————————————————————————————————————————————————————

sar 命令:

sar(system activity reporter) :

是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告

监控范围:文件的读写情况,系统调用的使用情况,磁盘I/O,cpu效率,内存使用状况,进程活动及IPC有关的活动

http://img.mukewang.com/szimg/62d8f47409d57a1210280238.jpg

-A  所有报告的总和

-u CPU利用率

-v 进程、节点、文件和锁表状态

-r 显示系统内存使用情况

-b 缓存区使用情况

-B 内存分页情况

————————————————————————————————————————————————————————————————

进程追踪命令

strace:

http://img.mukewang.com/szimg/62d8f6e609b378ab10910168.jpg

-p : 跟踪指定的进程

-f: 跟踪由fork子进程系统调用

-c: 统计每一系统调用的执行时间,次数和出错次数等

-t: 在输出的每一行前加上时间信息。-tt 时间确定到微秒级

-e: 后边加可以跟一个过滤器,过滤掉你不想要的输出

-o:  后边可以跟一个filename, 将输出写入到filename 文件中

相关说明请参考:https://blog.csdn.net/itworld123/article/details/122961879

 

——————————————————————————————————————————————————————————————————

监控工具:nmon

http://img.mukewang.com/szimg/62d8feeb0999853410140231.jpg

1、下载并完成安装后,将其名称改为 nmon;

2、然后将nmon文件复制bin目录下 :cp nmon /usr/bin

参数介绍:

-f: nmon的必选参数,并且必须放在第一个,即输出文件,用该参数的话,nmon输出的文件名就是默认名称:hostname_date_time.nmon

-F: 也是输出文件,但是这个用户可以自己定义文件名称

-s:采集数据的频率

-c : 采集数据的次数

-t: 输出最消耗资源的进程数据

-h : 查看帮助

Nmon的使用:

http://img.mukewang.com/szimg/62d90a5609a048c308060142.jpg

nmon的结果分析:

http://img.mukewang.com/szimg/62d90af809d29dd905480098.jpg

报告分析详情请参考:

https://blog.csdn.net/weixin_39962770/article/details/111282280

 

——————————————————————————————————————————————————

定时命令:

Linux下的定时任务~

crontab 命令:

http://img.mukewang.com/szimg/62d90d9209fbf36e09710185.jpg

相关命令:

/sbin/service crond status 查看定时任务的服务是否启动

start / stop/ restart 启动服务 / 停止服务/ 重新启动服务

reload 重新载入配置

crontab的服务权限所在文件:

权限管理存储在cron.allow 与cron.deny 文件中,如果没有找到这两个文件,可以创建在etc目录下;cron.allow文件存储的是允许哪些用户使用crontab;cron.deny文件存储的是不允许哪些用户使用crontab (即黑名单和白名单)

相关使用场景:

  1. 当两个文件都不存在时,那么只允许root用户使用crontab

  2. 当cron.deny文件存在,cron.allow文件不存在时,只要是没有列在cron.deny 文件中的用户都可以使用crontab。

  3. 如果两个文件都存在,并且同一个用户在两个文件中都有,那么以cron.allow 文件中的为准,只要cron.allow文件中有该用户,则该用户可以使用crontab 。

使用命令:

crontab -e

基本格式:minute hour day month week command

minute : 00~59  每分钟用* 或者 */1 表示

hour :  表示小时 00~23

day :  表示日期 01~31

month : 表示月份01~12

week: 星期 0~6(表示星期天)

command:  要运行的命令

* :代表取值范围内的所有值

/ : 代表 每 

- : 代表从……到……

, : 分隔开几个不同的数字

http://img.mukewang.com/szimg/62dbd10909ceb6c109560204.jpg

http://img.mukewang.com/szimg/62dbd1e1096a5c7205710443.jpg

编辑完成后,可以运行 crontab  -l 查看刚才的命令

 

 



posted @ 2022-07-23 18:52  Cranberries  阅读(468)  评论(0编辑  收藏  举报