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

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

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

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

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

一、前言

在进行性能测试前,有些参数需要本地进行调试,不适合直接使用性能测试平台。主要通过监控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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • J1939CANTP

    J1939CANTPSAEJ1939在卡车领域得到了广泛的认可,由多个文档组成,描述了从物理层到诊断层以及应用层的通信协议层。SAEJ1939-21描述了数据链路和传输层,包括两种传输协议变体:用于广播消息的BAM(广播宣布消息),以及CMDT(连接模式数据传输)用于点对点连接。该规范定义了SAEJ1939-21的传输协议如何在AUTOSAR体系结构中实现。它只描述了与AUTOSAR体系结构相关的实现部分。协议特定的细节,如精确的计时,不属于本规范的一部分。因此,为了能够实现J1939…

    2022年5月3日
    88
  • Centos6环境下CI(CodeIgniter)框架创建定时任务[通俗易懂]

    Centos6环境下CI(CodeIgniter)框架创建定时任务

    2022年2月10日
    37
  • 转录组分析学习笔记(持续补充)

    转录组分析学习笔记(持续补充)转录组分析流程(有参和无参denovo)1.获得测序数据,Fastq格式,称之为Rawdata。2.质量检测3.比对Mapping4.Quantification|Quanti

    2022年8月2日
    12
  • java 各版本下载官方网站

    java 各版本下载官方网站java各版本下载官方网站:http://www.oracle.com/technetwork/java/archive-139210.html

    2022年7月8日
    68
  • pytest的assert_java单元测试断言

    pytest的assert_java单元测试断言前言断言是写自动化测试基本最重要的一步,一个用例没有断言,就失去了自动化测试的意义了。什么是断言呢?简单来讲就是实际结果和期望结果去对比,符合预期那就测试pass,不符合预期那就测试failed

    2022年7月29日
    9
  • snmp协议端口号_SNMP OID

    snmp协议端口号_SNMP OID记一次日常工作1、SNMP是一个简单的网络管理协议,起初我也不知道啥玩意,在自己做安全设备配置日志审计服务器时突然发现的,某厂商设备不支持syslog服务器配置,只有snmp的配置,我当即填上相关信息如下图可见,将状态整为开启,版本自己选择的v2,因为顾虑v1版本可能存在一些缺陷,填好IP、端口、间隔发送时间、还有一个community选项是对应我们的server端的名称。2、原本以为简单的就完事了,我就进行下一步取server端搞一搞,三下五除二的就把server端的基本信息配置好,下图仅为snmp

    2022年8月20日
    7

发表回复

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

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