1.利用工具模拟大量用户操作来验证系统能够承受的负载情况
2.找出潜在的性能问题
3.定位、分析、解决
4.找出系统性能变化趋势,为后续的扩展提供参考
一、性能测试工具
常见难点:
1.用户和业务模型分析搭建---需求分析
2.合适的脚本开发---测试执行
3.合适的需求分析转化为场景设计---场景设计
4.大容量系统的数据生成和使用---场景设计
5.大型系统的性能压力负载和实施---测试执行
6.云计算的负载生成和实施---测试执行
二、性能测试基础
常见难点:
1.评估需求---需求分析
2.负载建模(用户与业务模型)---场景设计
3.性能压力生成的原理和并发等之间的关系---需求分析
4.性能测试用例---场景设计
5.新系统需求分析---需求分析
6.容量规划---性能诊断调优
7.性能测试策略---场景设计
三、服务器性能诊断知识
判断服务器瓶颈的依据和线索:
1.系统调用是如何执行的
2.CPU是如何调度线程
3.有限大小的内存是如何影响内存的
4.文件系统是如何处理I/O的
知识点:
1.进程、线程任务之间的区别 2.线程的中断优先和原理 3.进程的生命周期 4.上下文切换 5.I/O密集型和CPU密集型工作负载之间有什么区别 6.生产环境和测试环境之间换算 7.关系型数据库体系结构和逻辑优化与非关系型数据库体系结构和逻辑优化 8.事务数据库和分析数据库的使用 9.数据关系建模与设计 10.TCP N SQL 诊断和优化(执行路径、索引和表链接优化等) 11.阻击和根治阻塞和死锁 12.热点防范和定位优化 13.业务数据批量缓存化、异步化 14.数据库配置优化
四、性能测试关注点
1.需求分析
A. 初次上线的系统
a. 用同类型系统的数据,进行用户行为分析和商业数据结构的估算
b. 利用性能估算法进行推算,得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,并协助做出方案
B. 已上线的系统
a. 通过运维获取TPS和时间的比例分布图、用户数和时间分布图、数据库ER关系图、容量数据等
b. 依据数据得出目前系统的用户行为和业务数据关系,分析得出需求
2.场景设计
A. 根据分析得出的测试需求,编写测试用例
B. 按业务分布、业务量、业务时段、业务角色来综合分配用户数、执行时间、执行比例等,有效的组合测试用例形成测试场景
3.测试执行
理论:
a. 模拟不同负载执行测试场景来识别系统弱点
b. 做好各种监控,甄别各种问题
c. 验证系统的稳定性
d. 测试中需要关注的指标:响应时间(RT)
吞吐量(TPS)
事务成功率
硬件指标:CPU、内存、存储、网络
稳定性
内存有无泄漏
其他:数据库、中间件、缓存、JVM
4.性能诊断优化
常见难点:
A.系统硬件资源(CPU、网络、内存、IO)相互之间的关系及原理 B.选择可靠性指标及指标之间的关联和判定方法 C.永不宕机的实现原理和常见错误 D.排队系统与延迟及缓存的优化关系 E.优化的成本和性价比 F.业务优化的操作实施 G.多系统串联原理及测试隔离
网友评论