zoukankan      html  css  js  c++  java
  • jmeter第五节之性能调优以及分析帮助开发定位性能问题方法

    前提:要知道性能的四个重大指标  CPU 内存   IO 网络   IO 指磁盘的读写  

    一般常用看你电脑卡不卡 -看cpu 

    比如你电脑是4核的,物理核4核,代表你电脑在同一时间内可以完全并发四个人 ,实际不是这样的

    如果你的进程多了,十六个人有三十二个活,肯定有一个人多干几个活 

    如果物理核4核,逻辑核8核,每个核可以同时并发两个线程 ,实际是4核  但是一般都当8核用  

    windows查看方法,任务管理器 性能 

     linux 查看核数  

    如何查询CPU信息:

    在linux下, /proc/cpuinfo文件中读取CPU信息

    查看 CPU 个数:

    cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc –l

    查看 CPU 物理核数:

    cat /proc/cpuinfo | grep 'cpu cores' | sort | uniq

    查看 CPU 逻辑核数:

    cat /proc/cpuinfo | grep 'siblings' | sort | uniq

    cpu的使用率和平均负载的问题?????????

    cpu 70%啥意思呢,百分之70的时间点cpu在干活 

    举个简单例子,在单处理器中,任务1,先工作10ms,任务2再工作30ms,之后CPU空闲60ms。则此100ms时间段内,CPU的利用率就是40%

    查cpu的命令?????

    top: 用来监控Linux的系统状况,比如cpu、内存的使用

    us代表用户的进程占了多少cpu   分析 如果用户比较高,说明电脑跑了应用程序占得比较多

    sy 系统自己的应用程序                分析 sy 比较高,应该应用程序调了一些功能 比如读写 

    id  空闲的时间  

    如果你有多核cpu 按了top 你就按下1 会展示两个cpu  

    查看平均负载  分别显示1分钟,五分钟,十五分钟的负载情况

     当前cpu正在运行和排队等待的CPU平均有几个 ,之前那个时间有几个等待    

    平均负载更能看出一个人忙不忙 ,看分钟的间隔可以看到上升和下降趋势 

    mpstat: 多核cpu性能分析工具,-P ALL监视所有cpu, 输出频率 x 秒   

    mpstat 1 一秒刷新一次 

    pidstat: 进程性能分析工具,-u 显示cpu利用率

    实际场景:看看cpu 是否正常 常用思维 

    场景一:你压测接口,发现tps上不去了  这时候top 看cpu  发现cpu 高了 90%  平均负载也大排队4个  这是真忙 也叫计算密集型    优化具体要看为什么忙  看代码调优  

    场景二:cpu90%   平均负载低 4   这种情况还好  不是很常见  

    场景三:cpu 55%  平均负载  15    这种情况 要经验看iowatit 

    io高不高 等待磁盘读写占用百分比,如果这个高超过20%就很高了,有时候7%就高了正常5%或者没有,说明cpu 把大量时间放在磁盘读写上,因为等待磁盘读写不算cpu使用率 

    场景四:cpu 55%  平均负载:3    不忙是正常的情况  

    例子:

    一.安装
    yum install -y epel-release
    yum install stress -y

    场景一: CPU 密集型进程(计算密集型)

    stress 是一个 Linux 系统压力测试工具,这里我们用作异常进程模拟平均负载升高的场景。

    stress --cpu 1 --timeout 600  启动一个进程,不停计算一个随机数平方根数。600秒后结束

    stress --cpu 2 --timeout 600

    stress --cpu 3 --timeout 600

    高平均负载 伴随着 高cpu使用率

    场景二:I/O 密集型进程

    stress -i 1 --timeout 600   启动一个进程,不停发送一个sync指令,将存于 buffer 中的资料强制写入硬盘中

    stress -i 2 --timeout 600

    stress -i 3 --timeout 600

    高平均负载 伴随着 不是很高的cpu使用率

  • 相关阅读:
    fastjson-alibaba
    ubuntu 入门
    资料文档
    asp.net mvc View视图相关
    视频
    js第三方
    工具类网址
    [转]初学者的编程自学指南
    seajs的使用--主要了解模块化
    其它
  • 原文地址:https://www.cnblogs.com/weilemeizi/p/14790088.html
Copyright © 2011-2022 走看看