zoukankan      html  css  js  c++  java
  • 性能测试之平均负载

    一、查看平均负载:执行 top 或者 uptime 命令,来了解系统的负载情况

    Load Average  依次则是过去 1 分钟、5 分钟、15 分钟的平均负载

    二、平均负载:是指单位时间内,系统处于可运行状态(处于 R 状态(Running 或 Runnable)的进程)和不可中断状态(D 状态(Uninterruptible Sleep,也称为也称为 Disk Sleep)的进程)的平均进程数,也就是平均活跃进程数,它和 CPU 使用率并没有直接关系

    三、平均负载为多少时合理

    1、首先查看服务器CPU 个数,我们可以通过top命令或者从文件/proc/cpuinfo 中读取

    2、判断平均负载和cpu个数,大于CPU个数则系统出现负载

    3、如果 1分钟,5分钟,15分钟 三个值基本相同,或相差不大,那就说明系统负载很平稳

    4、如果1分钟的值远小于15分钟的值,就说明系统最近1分钟的负载在减少,而过去15分钟负载很大

    5、如果1分钟的值远大于15分钟的值,就说明最近1分钟负载在增加,如果超过CPU的个数,就意味着发生负载,这时就要分析调查是哪里导致的问题,并要优化

    单位时间内cpu繁忙情况的统计

    情况1:CPU密集型进程,CPU使用率和平均负载基本一致

    情况2:IO密集型进程,平均负载升高,CPU使用率不一定升高

    情况3:大量等待CPU的进程调度,平均负载升高,CPU使用率也升高

    四、平均负载工具:iostat mpstat pidstat 查找平均负载升高的根源

    1、预先安装stress和sysstat包 例如yum install -y sysstat

    stress 是一个Linux系统压力测试工具,我们可以用于模拟平均负载升高的场景 

      stress --cpu 1 --timeout 600 压满一个cpu,执行10分钟

    sysstat 用来监控和分析系统的性能,常用两个命令mpstat和pidstat

      mpstat 是一个常用的多核cpu性能分析工具,用来查看CPU的性能指标,以及所有CPU的平均指标

      pidstat 是一个常用的进程性能分析工具,用来时时查看进程的CPU、内存、IO以及上下文切换等性能指标

    下载:stress

    wget -P /home/ http://people.seas.harvard.edu/~apw/stress/stress-1.0.4.tar.gz

    依次执行以下指令:
    cd /home

    tar -zxvf stress-1.0.4.tar.gz

    cd stress-1.0.4

    ./configure

    make

    make check

    make install

    make clean
    若报错configure: error: no acceptable C compiler found in $PATH

    需要安装 sudo yum install gcc-c++

    2、场景练习  

    CPU 密集型进程

    首先,我们在第一个终端运行 stress 命令,模拟一个CPU使用100%的场景

    stress --cpu 1 --timeout 600

    接着,在第二个终端运行 uptime 查看平均负载的变化情况:

    # -d 参数表示高亮显示变化的区域
    $ watch -d uptime

    ..., load average: 1.00, 0.75...

    最后,在第三个终端运行 mpstat 查看 CPU 使用率的变化情况:

    #mpstat -P ALL 表示监控所有 CPU,后面数字 5 表示间隔 5 秒后输出一组数据

    使用pidstat命令查看那个进程占用的cup

    I/O密集型进程

    首先还是运行 stress 命令,但这次模拟 I/O 压力

    stress -i 1 --timeout 600

    还是在第二个终端运行 uptime 查看平均负载的变化情况

    watch -d uptime
    ..., load average: 1.06, 0.58, 0.37

    然后,第三个终端运行 mpstat 查看 CPU 使用率变化

     使用pidstat命令查看那个进程占用的cup

  • 相关阅读:
    USACO 3.3 A Game
    USACO 3.3 Camelot
    USACO 3.3 Shopping Offers
    USACO 3.3 TEXT Eulerian Tour中的Cows on Parade一点理解
    USACO 3.3 Riding the Fences
    USACO 3.2 Magic Squares
    USACO 3.2 Stringsobits
    USACO 3.2 Factorials
    USACO 3.2 Contact
    USACO 3.1 Humble Numbers
  • 原文地址:https://www.cnblogs.com/dwdw/p/10886722.html
Copyright © 2011-2022 走看看