学习资源:高性能产品的必由之路——性能测试工具
第1章 背景介绍
1-1 性能测试背景介绍
本章主要介绍了性能测试的产生背景。
- 搭建一个网站容易
- 搭建一个千万用户级的网站却没那么容易
- 横向扩展的能力
- 数据库的优化
- 尽量让一台机器能够承载更多的用户请求
第2章 性能测试概要
本章主要讲解性能测试的相关概念和实际开发中的意义,并阐述了软件性能的一些关键性指标。
2-1 课程简介
2-2 关于性能的几个案例分析
- 12306
- 北京奥运会订票系统
- 淘宝双11
2-3 性能的关键指标介绍
这些案例的共同特点
- 同时又非常多的用户使用网站服务
- 有的网站宕机了
- 有的王章让世人看到了交易奇迹
什么是性能测试
- 性能测试就是通过技术的手段模拟大量用户同时访问被测应用,观察、记录和分析系统的各项性能指标的过程。
- 性能测试的目标是评估系统的性能瓶颈,预测系统的最大用户负载能力。
性能测试的两个关键点
- 模拟大量并发用户
- 监控系统负载参数分析系统瓶颈
性能指标
- 平均响应时间(TTLB, Time to laster byte)
- 平均每个请求从发送到接收响应的时间
- 合理的平均响应时间
- 2/5/10原则
- 2秒钟之内:“非常有吸引力”。5秒钟之内:“比较不错”。10秒钟之内:“糟糕”。超过10秒:失败。
- 平均响应时间的业务影响
性能指标–系统资源类
- CPU
- CPU的占用率
- 内存
- 内存的占用率,换页数等
- I/O
- 读写请求数、读写量等
- 带宽
- 进站出站带宽占用率
2-4 为什么要进行性能测试
- 能够有效评估系统的性能指标,用于系统的性能评估
- 能够识别系统的性能瓶颈,协助性能调优
- 能够指导突发流量承载方案的指定
- 能够用于系统运维成本的预算
2-5 性能测试分类
- 负载测试(Load Test)
- 为了验证系统设计符合正常业务负载情况下系统性能表现的测试
- 压力测试(Stress Test)
- 为了验证系统在极端负载情况下的性能表现的测试
- 开发人员进行的性能测试更加关注在一定负载情况下各个系统资源的占用率,从而找到内存泄漏,连接泄露和系统的性能瓶颈。
第3章 性能测试相关工具
本章带领待解学习使用性能测试的相关工具。
3-1 使用Top获取进程的资源占用信息
- top
- 监控每一个进程的资源占用
3-2 性能统计工具sysstat安装配置
- sysstat
- 统计系统的各种资源占用情况
3-3 sysstat常用命令之CPU监控
3-4 sysstat常用命令之内存监控
3-5 sysstat常用命令之IO监控
3-6 sysstat常用命令之NetWork监控
3-7 评估磁盘读写性能极限
3-8 JMeter性能测试工具简介
- JMeter
- Apache组织开发的性能测试工具
- 特性
- Web -HTTP, HTTPS
- SOAP
- FTP
- LDAP
- Message-orientwd middleware (MOM) via JMS
- MongoDB (NoSQL)
- TCP
- Others
第4章 被测系统准备
本章主要带领大家一起安装学习待测系统,为后续的性能测试做准备。
4-1 被测系统ECShop介绍
- 一款开源的网上商店系统
- 虽然开源,但是商业应用需要付费
- 商店功能齐全,使用广泛
4-2 被测系统ECShop安装
- 略
4-3 被测系统功能简介
- 略
第5章 使用Jmeter进行性能测试
本章带领大家从录制脚本开始使用Jmeter进行系统的性能测试。
5-1 JMeter工作原理
JMeter简介
- Apache组织开发的性能测试工具
- 用于模拟大量用户的并发访问
- 最大的优点是完全开源
JMeter基本概念
- JMeter发送请求到应用服务器
5-2 JMeter下载安装及其目录结构说明
5-3 JMeter基本功能介绍
5-4 使用Jmeter对性能测试脚本进行录制和回放
- 自动化的一般方法
- 录制–>回放