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

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

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

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

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

一、前言

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


相关推荐

  • teamviwer-无限绑定

    teamviwer-无限绑定

    2021年5月18日
  • https通讯基础知识汇总

    https通讯基础知识汇总https通讯基础知识汇总

    2022年4月23日
  • 四级英语词汇大全(英语四级词汇表完整版)

    aart.一(个);每一(个)a.m(缩)上午,午前abandonvt.丢弃;放弃,抛弃abbreviationn.节略,缩写,缩短abilityn.能力;能耐,本领ablea.有能力的;出色的abnormala.不正常的;变态的aboardad.在船(车)上;上船abolishvt.废除,取消aboutprep.关于;在…周围aboveprep.在…上面;高于abroadad.(在)国外;到处absencen.缺席,不在场;缺乏absenta.不在场的

    2022年4月11日
  • java菜鸟教程+视频笔记

    java菜鸟教程+视频笔记1、java中局部变量是在栈上分配的;2、数组是储存在堆上的对象,可以保存多个同类型变量;3、在Java语言中,所有的变量在使用前必须声明。4、局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。5、内置类型有默认值,引用对象的默认值是null;6、非静态实例变量、非静态方法是通过对象实例进行调用的,不能直接从静态方法中调用;比如java源文件中main方法中不可以直接调用非静态…

    2022年6月14日
  • Git工具安装

    Git工具安装

    2021年6月3日
  • 20行Python代码开发植物识别 app「建议收藏」

    20行Python代码开发植物识别 app「建议收藏」这篇文章介绍如何用Python快速实现一个植物识别的app,家里养了几盆多肉还叫不上名字,正好拿来识别一下。实现这样一个app只需要20行左右的代码,先来看下效果:另外,我也开发了微信小程序版本,大

    2022年7月6日

发表回复

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

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