性能常识 性能测试技能树

飞天小子的性能课堂 · October 11, 2019 · 2229 hits

完整的性能测试流程

需求-计划-方案-环境搭建-用例设计-数据准备-场景设计-脚本开发-脚本执行-结果分析-问题反馈-性能调优-结果报告

性能指标

重点关注响应时间,吞吐量,错误率
点击查看>>性能指标

测试场景

压力测试,负载测试,并发测试,spike测试,稳定性测试,破坏性测试,验收测试,失效恢复测试

应用领域

能力验证:测试方法:验收测试,可靠性测试,压力测试,失效恢复测试
规划能力:使性能满足增长的用户数的需求。负载,配置,压力测试
性能调优:确定基准环境,负载,性能指标
瓶颈发现:无可参照的指标,重现和定位性能瓶颈。并发测试
基准比较:敏捷流程,固定迭代,比较结果

性能测试工具

注:重点关注jmeter生成压力的原理以及压力场景的设计
点击查看>>jmeter系列
点击查看>>jjmeter 压力测试中的难点解析
点击查看>>jjmeter 实战分析并发、RPS、RT 公式换算
点击查看>>j压测实战分析性能拐点
点击查看>>j负载测试统计超时率
点击查看>>jjmeter线程与并发数之间的关系
点击查看>>j深度剖析阶梯加压
点击查看>>j负载测试保证业务连贯性
点击查看>>spike 测试场景设计

服务器/中间件

JVM

重点关注GC原理,GC频率
点击查看>>jvm 内存空间与 gc 机制
点击查看>>jvm 内存参数设置

Tomcat

配置、使用方法、启动参数配置

Nginx

配置、使用方法

Dubbo

服务注册、消息队列

服务器硬件资源

点击查看>>剖析 cpu 负载和 cpu 利用率 重点关注cpu负载和利用率关系
点击查看>>剖析 cpu 上下文切换对负载的影响 重点关注上下文切换,系统调用,进程切换
点击查看>>cpu瓶颈分析思路 全局分析可能导致cpu瓶颈的原因
点击查看>>简单聊聊 IO 瓶颈 分析导致IO瓶颈的原因
点击查看>>浅析 swap 内存交换 swap内存交换对性能的影响

linux性能监听命令

lscpu,uptime,free,vmstat,mpstat,sysstat,netstat,iostat,pidstat,jstack,jmap,strace,gcutil

数据库

锁,索引,读写分离,分库分表,Nosql

线程状态

就绪(Runnable),运行(Running),阻塞(Blocked)

错误提示分析

   OutOfMemoryError: Java heap space (堆内存不够)

   OutOfMemoryError: GC overhead limit exceeded (代码内存过大或死循环)

   OutOfMemoryError: PermGen space (perm内存不够)

   OutOfMemoryError: Direct buffer memory (线程栈太小)

指标监控分析

cpu瓶颈

响应时间慢

空闲时间高(idle)

系统占用高(sys)

用户占用高(usr)

运行队列长(r)

load长期大于cpu个数

内存瓶颈

交换率过高(swap)

系统cpu利用率很高

内存溢出(OOM)

磁盘瓶颈

磁盘利用率高

等待队列过长(avgqu-sz)

等待IO的百分比过高(await))

用于IO的时间比例过高(util)

缓存命中率过低(buffer cache)

JVM瓶颈

fullgc频繁,考虑老年代内存是否太小

YoungGc频繁,考虑年轻代内存是否太小

YoungGc时间过长,程序中出现了大对象, 增加 -XX:PretenureSizeThreshold

GC监控

jstat -class 类加载统计

jstat -compiler 编译统计

jstat -GC 垃圾回收统计

jstat -gccapacity 堆内存统计

jstat -gccnew 年轻代垃圾回收统计

jstat -gccold 老年代垃圾回收统计

jstat -gcnewcapacity 年轻代内存统计

jstat -gcoldcapacity 老年代内存统计

jstat -gcmetacapacity 元空间内存统计

jstat -gcutil gc整体统计

分段排查定位分析

服务器硬件瓶颈->网络瓶颈->应用瓶颈->服务器操作系统瓶颈(参数配置)->中间件瓶颈(参数配置,数据库,web服务器等)

性能优化方法

使用对象池减少对象创建

增加本地缓存

Nosql进行存储

合并请求

串行改并行

同步改异步

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 0 条回复 时间 点赞
飞天小子的性能课堂 由浅入深学性能测试 中提及了此贴 11 Dec 10:55
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up