这周在网上买了一个LoadRunner性能测试的视频,从最基础的“抓包不求人”开始,整个一个流程下来和自己在网上找的视频还是有区别的,下面分享一些我在本次视频里面学习的东西,虽然都是一些很基础的,希望看到的朋友还是能学到一点点,如果有说错的地方,还请大家给我留言 让我知道 谢谢
抓包不求人
一:抓包工具
1.Httpwatch
2.Fiddler的介绍
3.firefox和firebug
4.科莱网络分析
性能测试的今生前世
一:什么是软件性能?
1. 用户视角的软件性能
a) 从用户角度来说,软件性能就是软件对用户操作的响应时间快,好用,舒服
比如:12306订票系统,我们就希望能快点买到我们想要的票,就是响应时间快 我们就会觉得你这网站的性能好
2. 系统管理员视角的软件性能
a) 系统响应时间;
b) 系统运行时服务器的状态,如CPU利用情况,内存使用情况等;
c) 系统是否能够实现扩展;
d) 系统支持多少用户访问;
e) 系统性能可能的瓶颈在哪里;
f) 系统是否支持7*24小时的业务访问。
3. 产品开发人员视角的软件性能
a) 用户关心的响应时间;
b) 管理员关心的系统可扩展性等;
c) 架构设计是否合理;
d) 数据库设计是否合理;
e) 代码是否存在性能方面的问题;
f) 系统中是否有不合理的内存使用方式。
4. 测试人员眼中的性能
a) 全面的性能—全程的性能—>全程性能测试
b) 从前台到后台,从现场到本质
性能测试概念的引入
性能测试:在一定的负载情况下,系统的响应时间等特性是否满足特定的性能需求。
负载测试:通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。
压力测试:指被测系统在一定资源(CPU,内存)饱和的情况下,系统的运行情况。
可靠性测试:被测系统在长时间运行下的运行情况。
配置测试:通过调整被测系统软硬件的不同配置,找到一个最适合被测系统的配置或者获得被测系统在不同配置下的运行情况。
无论使用测试工具还是模拟,本质上是通过一个程序去测试另一个程序
性能测试的流程
负载测试一般包括5个阶段:规划,创建脚本,定义场景,执行场景和分析结果
规划负载测试—>创建Vuser脚本—>定义场景—>运行场景—>分析结果
基本概念
1. 并发与并行
a) 并行:同时执行 如:现在cpu有8核的,它能同时执行8个程序
b) 并发:cpu单核的时候,也可以并发,但绝对不存在并行,因为同一时间只能运行一个程序。
2. 并发用户数和在线用户数
a) 并发用户数:同一时间对系统造成负载的,造成压力的
b) 在线用户数:如 登录一个博客,显示在线人数,这个在线人数并不是都是在操作的,有的登录了并没有做任何操作,但是都是在线的。对系统没有造成任何压力
3. TPS(Transactions Per Second 每秒事务数)和响应时间
a) Transactions:完成了那个业务,比如 登录算一个事务,提交也算一个事务,完成的事务越多,响应时间越快
响应时间=客户端+服务器端+网络
对于用户来说,只是关心响应时间,慢就不爽
4. 点击数(点击数不是鼠标点击次数):发送的请求数,鼠标点击一下,发送多个请求
5. 吞吐量:单位时间内被测系统处理的业务或者请求的数量
6. PV和UV
a) PV:访问一个URL,产生一个PV(Page View,页面访问量),每日每个网站的总PV量是形容一个网站规模的重要指标
b) UV:作为一个独立的用户,访问站点的所有页面均算一个UV(Unique Visitor,用户访问)。
习惯和注意的事项
1. 多沟通,切忌个人英雄主义
2. 遇到问题要冷静,先尝试独立分析,养成看日志的习惯(数据库日志,应用程序日志,web服务器日志,操作系统日志)
3. 不要想当然,测(看)过才知道
4. 分析问题要从多方面现象和数据入手,尽量通过更多的数据和现象推出结论
5. 尽量在明确性能需求额情况下开始性能测试
6. 性能调优时候,不要一次改变多个配置和条件,一次变一个,这样能更清晰的判定问题的原因
性能测试工具选型
一:性能测试工具选型
1. 成本
a) 工具成本
b) 学习成本
2. 通信协议
a) 标准协议
b) 自有协议
3. 生命力
4. 跨平台
二:性能测试工具
1. Loadrunner
2. Jmeter
3. Gatling
4. IBM RPT
5. SILK PERFORMER
6. WAS
三:LoadRunner包含以下组件
1. Virtual User Generator 录制最终用户业务流程并创建自动化性能测试脚本,即Vuser脚本。
2. Controller组织,驱动,管理并监控负载测试。
3. Analysis用于查看,剖析和比较性能结果。
4. Load Generator 通过运行Vuser产生负载