当你想进行简单性能测试监控的时候应该如何选择监控命令?「建议收藏」

当你想进行简单性能测试监控的时候应该如何选择监控命令?「建议收藏」当你想进行简单性能测试监控的时候应该如何选择监控命令?

大家好,又见面了,我是你们的朋友全栈君。

此文已由作者赵慧莉授权网易云社区发布。

欢迎访问网易云社区,了解更多网易技术产品运营经验。

一、前言

在进行性能测试前,有些参数需要本地进行调试,不适合直接使用性能测试平台。主要通过监控CPU、内存、磁盘、网络情况来判断是否符合标准。接下来将通过CPU、内存、磁盘、网络情况的评估标准、常见的监控命令、常见会出现的一些问题来进行分析。

二、资源监控

1、监控CPU

  • CPU评估

    • user + sys [0%, 50%] :负载低

    • user + sys [70%, 90%] :负载高

    • user + sys [90%, 100%] :满负荷

    • CPU在满负荷状态下应符合7/3分布

    • CPU的负载不能高于CPU核心数目

  • 常用的监控命令

    • 整理CPU使用情况:top/vmstat/dstat

    • 每个CPU使用情况:mpstat

    • 进程CPU使用情况:pidstat

  • 举例

    • vmstat命令:用来获得有关进程、虚存、页面交换空间及 CPU活动的信息。(实例为:1s采集一次,采集4次后结束)Alt pic

    • dstat命令, 默认情况它会收集-cpu-,-disk-,-net-,-paging-,-system-的数据。(默认输入dstat等于输入了dstat -cdngy 1或dstat -a 1. 推荐使用 date && dstat -tclmdny 60 一分钟监视一次)Alt pic

    • mpstat最大的特点是:可以查看多核心cpu中每个计算核心的统计数据。     Alt pic

    • pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存、设备IO、任务切换、线程等。Alt pic

  • 常见的CPU问题

    • 多核使用率不均匀

    • CPU使用率过高

    • CPU周期性的飙升

2、监控内存

  • 内存

    • 物理内存:真正的内存

    • 虚拟内存:为了满足物理内存不足,利用磁盘空间虚拟出的逻辑内存

    • 使用交换内存会带来磁盘IO和CPU开销的增加

  • 常用的监控命令

    • top

    • free

    • vmstat

    • cat /proc/meminfo

  • 举例

    • top Alt pic

    • freeAlt pic

  • 常见的内存问题

    • OOM

    • 内存暴增

    • swap升高

    • 内存泄漏

3、监控磁盘

  • 相关指标

    • IOPS:每秒读写次数,tps

    • bps:每秒读写块数,Blk_read/s , Blk_wrtn/s

    • %util:设备的利用率

    • svctm:平均每次设备I/O操作的服务时间

    • await:平均每次设备I/O操作的等待时间,排队时间+服务时间

    • avgqu-sz:平均I/O队列长度

    • await和svctm差距越大表示io的压力越大

  • 常用的监控命令

    • iostat

    • iotop

  • 举例

    • iostat选项-x,该选项将用于显示和io相关的扩展数据。Alt pic

4、监控网络

  • 需要关注点

    • 网络流量

    • 监听端口

    • 连接数

    • 句柄数

  • 常用的监控命令

    • netstat / dstat

    • lsof

    • sar

    • tcpdump

    • iptraf

  • 举例

    • tcpdump(tcpdump -i any -s 0 -l -w – port 8186|strings )Alt pic

  • 常见的网络问题

    • 能ping通但是服务不能访问

    • too many open files

三、总结

本文主要从监控CPU、内存、磁盘、网络四个方面进行分析,每方面的从评估标准、常见的监控命令、常见会出现的一些问题来进行阐述,希望能给大家带来基础的认识。

免费体验云安全(易盾)内容安全、验证码等服务

更多网易技术、产品、运营经验分享请点击

相关文章:
【推荐】 jq一个强悍的json格式化查看工具

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107196.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月20日 下午11:00
下一篇 2022年4月20日 下午11:20


相关推荐

  • django mysqlclient_mac好用的ssh

    django mysqlclient_mac好用的sshmac系统安装mysqlclient时,会报错OSError:mysql_confignotfound解决办法在项目路径下输入以下内容PATH="$PATH":/usr

    2022年7月29日
    10
  • springCloud五大核心组件「建议收藏」

    springCloud五大核心组件「建议收藏」1.springCloud五大组件运行流程2.springcloud简单介绍SpringCloud是微服务架构的集大成者,将一系列优秀的组件进行了整合。基于springboot构建,对我们熟悉spring的程序员来说,上手比较容易。通过一些简单的注解,我们就可以快速的在应用中配置一下常用模块并构建庞大的分布式系统。SpringCloud的组件相当繁杂,拥有诸多子项目。重点关注Netfl…

    2022年4月19日
    123
  • mysql字段默认值使用null还空字符串_mysql分割字符串split

    mysql字段默认值使用null还空字符串_mysql分割字符串split#字符串拼接concat(s1,s2);将表中last_name和first_name中的字符串拼接selectconcat(last_name,first_name)as姓名fromemployees;#只会修改last_name不会修改first_nameSELECTfirst_name,last_nameASfFROMemployees;#将两个列用逗号隔开并命名为o…

    2026年4月15日
    6
  • linux通过进程名杀死进程_linux关闭进程命令

    linux通过进程名杀死进程_linux关闭进程命令笔记:根据一个进程的名字或启动此进程的命令(连续的一部分即可)杀死进程一、使用单条命令ps-ef|grep进程名/启动进程的命令|grep-vgrep|awk'{print$2}’|xargskill-9测试:终端输入:sleep200&sleep200&ps-ef|grepsleep|grep-v…

    2025年12月6日
    4
  • vscode配置java开发环境_windows10

    vscode配置java开发环境_windows10VSCode配置JAVA开发环境windows2020(傻瓜式)下载安装下载今天想用vscode配置Java,结果网上的教程把我看傻了,一个比一个复杂,又是setting.json,又是添加路径的。其实一个链接就能搞定Windows官方VScodeJava环境配置下载完成后,双击点开点击next这里会检测你有没有安装JDK和VScode,安装了就会显示installed,没安装他会提示你安装点击install然后打开VScode随便点开一段代码publicclass

    2026年4月14日
    6
  • HTML表格字体居中_如何让文字在表格中上下居中

    HTML表格字体居中_如何让文字在表格中上下居中在css中使用”test-align:center;” text-align:center;

    2025年11月29日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号