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

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

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

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

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

一、前言

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


相关推荐

  • Yarn 安装与使用教程[通俗易懂]

    一、官网指引英文官网:Yarn英文官网中文文档:Yarn中文文档二、Yarn介绍Yarn是Facebook,Google,Exponent和Tilde开发的一款新的JavaScript包管理工具。你可以通过它使用全世界开发者的代码,或者分享自己的代码。代码通过包(package)(或者称为模块(module))的方式来共享。一个包里包含所有需要共享的代码,以及描述包信息的文件,称为package.json。它的优点是更快、更安全、更可靠。它的主要特性有离线模式、确定性

    2022年4月10日
    62
  • java获取当前时间的时间戳_linux修改文件时间戳

    java获取当前时间的时间戳_linux修改文件时间戳一、需求项目中使用java8的LocalDateTime进行日期参数的接收,前后台使用unix时间戳进行日期传输,需要在controller的方法中实现自动将unix时间戳转换为LocalDateTime。localhost:8080?time=1512900770publicvoidtest(@RequestParamLocalDateTimetime){System.out.prin…

    2022年10月2日
    3
  • 2021.4.1 版激活码_通用破解码

    2021.4.1 版激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    49
  • Oracle数据库学习之数据类型和表的操作「建议收藏」

    Oracle数据库学习之数据类型和表的操作「建议收藏」Oracle的数据类型:字符型数据类型charvarcharvarchar2long这几个字段之间的区别:char的长度是固定的,而varchar2的长度是可以变化的。也就是char(20)和varchar2(20)都存储”abc”,char是占用20个字符的,而varchar2是占用3个字符空间的。但是char的效率要高与varchar。这也就是平时说的以空间换效率。如果有一

    2022年8月30日
    4
  • SpringBoot声明式事务的简单运用

    SpringBoot声明式事务的简单运用关于事物的基本概念等这里就不介绍了。Spring声明式事物的实现,有两种方式;第一种是配置xml,第二种是使用相关注解(这两种方式可详见《程序员成长笔记(一)》的相关章节)。SpringBoot中默认配置了第二种方式,所以,SpringBoot直接使用注解即可。下面介绍SpringBoot通过注解开启事物的使用。SpringBoot使用事物的步骤:第一步:在启动类上开启…

    2022年5月30日
    36
  • php 位运算 3<<2;

    php 位运算 3<<2;

    2021年10月15日
    40

发表回复

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

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