• jmeter常用的监听器


    jmeter常用的监听器

    jp@gc - Bytes Throughput Over Time:不同时间吞吐量展示(图表) 
    聚合报告里,Throughput是按请求个数来展示的,比如说1.9/sec,就是每s发送1.9个请求;而这里的展示是按字节Bytes来展示的图表

    jp@gc - Composite Graph 混合图表 

    在它的Graphs里面可以设置多少个图表一起展示,它可以同时展示多个图表

    jp@gc - Hits per Second每秒点击量

    jp@gc - PerfMon Metrics Collector服务器性能监测控件,包括CPU,Memory,Network,I/O等等

    jp@gc - Reponse Latencies Over Time记录客户端发送请求完成后,服务器端返回请求之前这段时间

    jp@gc - Reponse Times Distribution 显示测试的响应时间分布,X轴显示由时间间隔分组的响应时间,Y轴包含每个区间的样本数

    jp@gc - Transactions per Second 每秒事务数,服务器每秒处理的事务数

    jp@gc - Reponse Times vs Threads展示事务响应时间与虚拟用户数之前的对应关系

     

     

    服务器性能分析:

    cpu:

    CPU 在操作系统中是运行的根本,CPU的执行速度与性能好坏在很大程度上决定了系统整体的性能的快慢,最开始大部分任务是单线程调度,CPU在同一时间内只能运行一个线程,但随着多处理器技术的成熟,软件架构的深入和复杂度的提升,单处理系统组件在往多处理系统转变,这些都是利用处理器的多核心处理能力的特性来提升系统性能.在做系统性能分析前,首先我们要了解系统处理器的情况,如逻辑处理器,处理器型号,主频率,cache大小,是否支持超线程技术等信息,在知道这些的情况下,才能更好地进行我们系统的性能分析.

    除此之外,CPU的使用率也是我们需要关注的很重要指标,CPU处于满载状态时,很多时候我们要结合系统附带的一些系统监控分析工具,检查相关的系统日志,web服务器日志,DB日志等,结合辅助一些命令如top,free,uptime,sar等辅助分析为什么系统CPU会被完全占用,以及后续的解决优化方案.

    memery:内存

    在系统性能因素中,内存大小也是影响系统性能的一个非常核心的指标,当可用的内存太小,系统进程会被阻塞中,应用也将会变得非常缓慢,有时候会失去响应,严重的甚至可能会触发系统的OOM(内存溢出)从而引发应用程序被系统给杀死,更严重的情况可能会引起系统重启;当机器的内存太大的时候,有时候也是一种浪费,这时候我们可以考虑做一些缓存服务去提升系统性能.

    虚拟内存也是在内存里面我们需要考虑的性能指标,在系统设计中,当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一些长时间没什么操作的程序,这些被释放的空间被临时保存到虚拟内存空间中,等到那些程序要运行时,再从虚拟内存中恢复保存的数据到物理内存中.这样,系统总是在物理内存不够时,才进行内存之间的交换,有时可以越过系统性能瓶颈,节省系统升级费用.在做性能分析的时候,我们也要考虑系统有无设置虚拟内存,以及虚拟内存的使用情况.

    内存分析

    Mem:232600k,total

    物理内存总量

    Mem:224688k,used

    使用的物理内存总量

    Mem:7912k,free

    空闲内存总量

    Mem:8508k,buffers

    用作内核缓存的内存量

    Mem:46264,cached

    缓冲的交换区总量

    Swap:209714k,total

    交换区总量

    Swap:62052k,used

    使用的交换区总量

    Swap:2035092k,free

    空闲的交换区总量

    swap:交换分区

    DIsks I/O:硬盘

    访问应用离不开系统的磁盘数据的读写,I/O读写的性能直接会影响系统程序的性能.读写的性能直接会影响系统程序的性能,磁盘I/O系统是系统中最慢的部分.I/O比较频繁的时候,如果I/O得不到满足会导致应用阻塞.针对I/O的场景模型,我们要考虑的有I/OTPS,平均I/O数据,平均队列长度,平均服务时间,平均等待时间,IO利用率等指标.

    network I/O :网络

    系统应用之间的交互,尤其是跨机器之间的,都是要基于网络的,因此网络宽带,响应时间,网络延时,阻塞等都是影响系统性能的因素.假如应用在不稳定和不安全的网络下会导致应用程序的超时,丢弃,阻塞,波动率大,这些在系统中都是不能接受的.我们需要一个可靠的,稳定的,能满足我们应用程序在机器之间畅通无阻地运行,这些需要测试工程师,网络管理员,系统管理员等一起合作把系统的网络完善.

    在系统中,我们要考虑对应的网络是否可达,防火墙是否开启,端口访问,带宽是否有被限制,路由的寻址,网络的延时等问题.

    TCP:一种网络传输协议

    JMX:

    EXEC:

    TALL:

     

    模块

    类型

    度量方式

    衡量标准

    CPU

    使用情况

    1.vmstat 统计l-id 的计数

    2.sar-u 统计l-%idle的计数

    3.dstat命令 统计 l-idl的计数

    4.mpstat-PALL 统计 l-%idle的计数

    5.ps命令统计cpu的计数

    注意≥50%

    告警≥70%

    严重≥90%

    CPU

    满载

    6.vmstat r 计数 >CPU逻辑顺数

    7.sar –q,”runq-sz”>CPU逻辑顺数

    8.dstat –p,”run”>CPU逻辑顺数

    运行的队列大于1,证明已经有一定的负载了,不过这个计数也不绝对,需进一步分析其他的资源情况来断定CPU是否已满载负荷运作

    CPU

    错误

    9.通过perf工具去捕获处理器的错误信息,需处理器支持

    需处理支持

    内存

    使用情况

    1.free命令查看使用情况

    2.vmstat命令查看使用情况

    3.sar-r命令查看使用情况

    4.ps命令查看使用情况

    注意≥50%

    告警≥70%

    严重≥90%

    内存

    满载

    5.vmstatsi/so 比例辅助swapd free 利用

    6.sar-W 查看每次缺页数

    7.查看内核日志有无OOM 机制kill 进程

    8.dmesg|grep killed

    1.so数值大,swapd已经占比很高,内存肯定已经饱和

    2.sar命令次缺页多意味已经在不停地和swap打交道,证明内存已经饱和

    3.当内存不够用会触发内核的OOM机制

    内存

    错误

    9.查看内有无physical failures

    10.通过工具如valgrind 等进行检查

    有计数

    网络

    使用情况

    1.sar –n DEV 的收发计数大于网卡上限

    2.ifconfig RX/TX 宽带超过网卡上限

    3.cat/proc/net/dev/ 的速率超过上限

    4.nicstatutil 基本满负荷

    1.收发包的吞吐速率达到网卡上限

    2.有延迟

    3.有丢包

    4.有阻塞

    网络

    满载

    5.ifconfig dropped 有计数

    6.nestat-s”segments retransimted”有计数

    7.sar-n EDEV rxdrop txdrop 有计数

    统计的丢包有计数证明已满载了

    IO

    使用情况

    1.iostat –xz,”%util”

    2.sar-d,”%util”

    3.iotop的利用率很高

    4.cat/proc/pid/sched|grep jowait

    注意≥50%

    告警≥70%

    严重≥90%

    IO

    满载

    5.iostat –xnzl,”avgqu-sz”>1

    6.iostat await>70

    IO 已经有满载嫌疑

    IO

    错误

    7.dmesg 查看io错误

    8.smartctl/dev/sda

    有信息

     

    系统负载监控分析实践

    uptime命令:主要用于获取主机运行时间和查询Linux系统负载等信息,uptime命令可以显示系统已经运行了多长时间,以及有多少用户登录,快速获取服务器的负荷情况,它信息显示依次为:现在时间,系统已经运行了多长时间,目前有多少登录用户,系统在过去的1分钟,5分钟,15分钟内的平均负载.

    1.uptime的系统存活时间越长,意味着系统稳定,我们可以通过uptime查看系统这一段时间有无重启,这也是一种常见分析系统是否稳定的命令

    2.通过uptime命令可以得知当前有多少登录用户,但相对来说w命令会更好地显示当前登录用户数的信息.

    3.一般系统建议每个CPU内核的当前活动进程数量最好不要大于0.8,证明系统是空闲的,大于1且不小于3的时候,如果系统的其他资源很正常,那么系统的性能也可以接受的.但如果任务数大于5的话,那证明系统性能有问题了.以一个四核CPU的主机为例,uptime的输出结果超过15,那就意味着当前系统负载非常严重,需要分析当前的进程调度策略,是否有阻塞等,估计此时可能打开运行脚本都会非常缓慢的.

    4.系统负载的3个值表示的是系统过去的1分钟,5分钟,15分钟的一个平均值.通过这3个值的信息,我们 可以分析出系统负载的趋势:是否增加,稳固,降低等.

    Linux系统性能分析思路和实践

    负载uptime命令

    CPU top命令

    Windows 系统性能分析思路和实践

    性能监视器综述:

    perfmon 进入性能监视器

    中间件Tomcat 监控 Probe

    监控项

    类别

    计数器

    描述

    tomcat

    JVM 内存

    关注GC 回收频率,Full GC 次数越少越好

    最大线程数

    线程池连接数长期大80%以上,建议优化

    数据库连接数

    活动连接数长期大于80%以上,建议优化连接池

    请求数

    请求状态

    线程数,线程状态,大量 Blocked 状态线程可以 Dump 线程栈信息进行分析

    性能调优常用手段:

    1.空间换时间,内存,缓存就是典型的空间换时间的例子.利用内存缓存从磁盘上取出的数据,CPU请求数据直接 从内存中获取,从而获取比从磁盘读取数据更高的效率

    2.时间换空间:当空间成为瓶颈时,切分数据分批次处理,用更少的空间完成任务处理.上传大附件时经常用这种方式.

    3.分而治之:把任务切分,分开执行,也方便并行执行来提高效率.

    4.异步处理:业务链路上有任务时间消耗较长,可以拆分业务,减少阻塞影响.常见的异步处理机制有MQ(消息队列),目前在互联网应用中大量使用.

    5.并行:用多个进程或者线程同时处理业务,缩短业务处理时间,比如我们在银行办理业务时,如果排队人数较多时,银行会加开柜台.

    6.离用户更近一些:比如CDN技术,把用户的静态资源放在离用户更近的地方.

    7.一切可扩展:业务模块化,服务化,良好的水平扩展能力.

    分布式架构的运用给性能带来了革命性的提升,业务流程的调整也会显著提升系统性能,单系统的调优能够压榨出更高的处理能力.

    系统的发展:

    单体--à集群--à分布式--à分布式集群

    单机性能分析与调优

    客户端--à应用服务器--à数据库

    我们的服务运行在中间件上,中间件与DB运行在操作系统上,操作系统来管理计算机硬件设备(CPU,内存,磁盘,网卡等设备).

    单机性能分析流程:

    Client:客户端

    Load Machine:负载生成器模拟用户负载

    webserver:提供Web服务的服务器,即我们访问的web页面由此服务器提供服务;一般部署在Nginx,Apache等中间件上.

    Middleware:中间件,比如Tomcat,Jboss,WebLogic

    OS:操作系统

    System Resource:系统资源

    APPserver:应用服务器,实现业务逻辑

    DB:数据库服务器

    配置优化:

    JVM配置优化

    连接池:

    连接池配置参数

    连接池配置多少连接合适

    监控连接池

    线程池:

    缓存机制:

     

  • 相关阅读:
    把git项目放到个人服务器上
    关于fcitx无法切换输入法的问题解决
    博客变迁通知
    (欧拉回路 并查集 别犯傻逼的错了) 7:欧拉回路 OpenJudge 数据结构与算法MOOC / 第七章 图 练习题(Excercise for chapter7 graphs)
    (并查集) HDU 1856 More is better
    (并查集 不太会) HDU 1272 小希的迷宫
    (并查集 注意别再犯傻逼的错了) HDU 1213 How Many Tables
    (最小生成树 Kruskal算法) 51nod 1212 无向图最小生成树
    (并查集) HDU 1232 畅通工程
    (最小生成树 Prim) HDU 1233 还是畅通工程
  • 原文地址:https://www.cnblogs.com/xiaoyuer2121/p/13669799.html
Copyright © 2020-2023  润新知