• 性能瓶颈定位分析


    用vmstat、sar、iostat检测是否是CPU瓶颈

    用free、vmstat检测是否是内存瓶颈

    用iostat、dmesg 检测是否是磁盘I/O瓶颈

    用netstat检测是否是网络带宽瓶颈

    https://linux.cn/article-4452-1.html

    1 首先进行OS层面的检查确认
    首先要确认当前到底是哪些进程引起的负载高,以及这些进程卡在什么地方,瓶颈是什么。
    一般情况下,服务器上最容易成为瓶颈的是磁盘I/O子系统,因为它的读写速度通常是最慢的;也会有其他原因:

    1.某些进程/服务消耗更多CPU资源(服务响应更多请求或存在某些应用瓶颈);
    2.发生比较严重的swap(可用物理内存不足);
    3.发生比较严重的中断(因为SSD或网络的原因发生中断);
    4.磁盘I/O比较慢(会导致CPU一直等待磁盘I/O请求);
    一般先看整体负载如何
    可以使用w 或sar -q 来查看服务器负载数据

    sar -q 1

    runq-sz:   运行队列的长度(等待运行的进程数)                                     
    plist-sz:   进程列表中进程(processes)和线程(threads)的数量                    
    ldavg-1:   最后1分钟的系统平均负载(System load average)                         
    ldavg-5:   过去5分钟的系统平均负载                                                
    ldavg-15: 过去15分钟的系统平均负载

    查看CPU使用率

    sar -u 2

    07:20:28 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
    07:20:30 PM     all     35.09      0.00     64.91      0.00      0.00      0.00
    07:20:32 PM     all     27.38      0.00     52.38     20.24      0.00      0.00
    07:20:35 PM     all     34.33      0.00     61.19      4.48      0.00      0.00
    07:20:37 PM     all     36.51      0.00     63.49      0.00      0.00      0.00
    07:20:39 PM     all     33.33      0.00     66.67      0.00      0.00      0.00
    07:20:41 PM     all     33.33      0.00     61.90      4.76      0.00      0.00
    07:20:43 PM     all     37.93      0.00     62.07      0.00      0.00      0.00

    %user : 用户模式下消耗的CPU时间的比例;

    %nice:通过nice改变了进程调度优先级的进程,在用户模式下消耗的CPU时间的比例;

    %system:系统模式下消耗的CPU时间的比例;

    %iowait:CPU等待磁盘I/O而导致空闲状态消耗时间的比例;

    %steal:利用Xen等操作系统虚拟化技术时,等待其他虚拟CPU计算占用的时间比例;

    %idle:CPU没有等待磁盘I/O等的空闲状态消耗的时间比例;

    注:

    如果 %iowait 的值过高,表示硬盘存在I/O瓶颈
    如果 %idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量
    如果 %idle 的值持续低于 10,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU。

    磁盘IO分析

    iotop 确认到底哪些进程消耗的磁盘I/O资源最多

    由于是压力测试,所以测试进程IO都比较高。

    数据库层可以查看日志,对日志中的sql进行分析。

  • 相关阅读:
    Checked Exception & Unchecked Exception
    Spring事务:调用同一个类中的方法
    SpringMVC接收checkbox传值
    Java String 学习
    写给大忙人的JavaSE 8
    Spring in Action 4th 学习笔记 之 AOP
    Spring in Action 4th 学习笔记
    spring只是一个框架
    lambda小结
    电感的Q值
  • 原文地址:https://www.cnblogs.com/songyuejie/p/7076278.html
Copyright © 2020-2023  润新知