《性能测试基础知识知识讲稿》由会员分享,可在线阅读,更多相关《性能测试基础知识知识讲稿(18页珍藏版)》请在金锄头文库上搜索。
1、软件性能测试 2 目录 性能测试的类型 验收性能测试 狭义 性能测试方法是通过模拟生产运行的业务压力量和使用场景组合 测试系统的性能是否满足生产性能要求 通俗地说 这种方法就是要在特定的运行条件下验证系统的能力状态 特点 1 这种方法的主要目的是验证系统是否具有系统宣称具有的能力 2 这种方法要事先了解被测系统经典场景 并具有明确的性能目标 3 这种方法要求在已经确定的环境下运行 也就是说 这种方法是对系统性能已经有了了解的前提 并对需求有明确的目标 并在已经确定的环境下进行的 性能测试的类型 负载测试 LoadTest 通过在被测系统上不断加压 直到性能指标达到极限 例如 响应时间 超过预定
2、指标或某种资源已经达到饱和状态 特点 1 这种方法的主要目的是找到系统处理能力的极限 2 这种测试方法需要在给定的测试环境下进行 通常也需要考虑被测系统的业务压力量和典型场景 使得测试结果具有业务上的意义 3 这种方法一般用来了解系统的容量 或是配合性能调优来使用 也就是说 这种方法是对一个系统持续不断的加压 看你在什么时候已经超出 我的要求 或系统崩溃 性能测试的类型 压力测试 StressTest 压力测试方法测试系统在一定饱和状态下 例如CPU 内存在饱和使用情况下 系统能够处理的会话能力 以及系统是否会出现错误 特点 1 这种测试方法的主要目的是检查系统处于压力下应用的表现 2 这种测
3、试方法一般通过模拟负载等方法 使得系统的资源使用达到较高的水平 3 这种测试方法一般用于测试系统的稳定性 也就是说 这种测试是让系统处在很大强度的压力之下 看系统是否稳定 哪里会出问题 性能测试的类型 并发测试 ConcurrencyTest 并发测试方法通过模拟用户并发访问 测试多用户并发访问同一个应用 同一个模块或者数据记录时是否存在死锁或者其他性能问题 特点 1 这种测试方法的主要目的是发现系统中可能隐藏的并发访问时的问题 2 这种测试方法主要关注系统可能存在的并发问题 例如系统中的内存泄露 线程锁和资源争用方面的问题 3 这种测试方法可以在开发的各个阶段使用 需要相关的测试工具的配合和
4、支持 也就是说 这种测试关注点是多个用户同时 并发 对一个模块或操作加压 性能测试的类型 配置测试 ConfigurationTest 配置测试方法通过对被测系统的软 硬件环境的调整 了解不同配置对系统的性能影响的程度 从而找到系统各项资源的最优分配原则 特点 1 这种测试方法的主要目的是了解各种不同因素对系统性能影响的程度 从而判断出最值得进行的调优操作 2 这种测试方法一半呢在对系统性能状况有了初步了解后进行 3 这种性能测试方法一般用于性能调优和规划能力 也就是说 这种测试关注点是 微调 通过对软硬件的不断调整 找出他们的最佳状态 使系统达到一个最强的状态 性能测试的类型 可靠性测试 R
5、eliabilityTest 通过给系统加载一定业务压力 例如资源在70 90 的使用率 使系统运行一段时间 以此检测系统是否稳定运行 特点 1 这种测试方法的主要目的是验证是否支持长期稳定的运行 2 这种测试方法需要在压力下持续一段时间的运行 2 3天 3 测试过程中需要关注系统的运行状况 如果测试过程中发现 随着时间的推移 响应时间有明显的变化 或是系统资源使用率有明显波动 都可能是系统不稳定的征兆 也就是说 这种测试的关注点是 稳定 不需要给系统太大的压力 只要系统能够长期处于一个稳定的状态 性能测试关注的指标 并发用户数反应系统负载压力的大小区别以下用户数概念 系统用户数 系统额定的用
6、户数量 设计容量 在线用户数 所有正在访问系统用户 不一定做操作 并发用户数 同时对服务器产生请求的用户总数响应时间反应系统处理效率指标一般标准 3秒 2 5 10秒 性能测试关注的指标 TPS TransactionPerSecond 反应系统处理能力的指标 是单位时间内完成工作的度量 随着负载的增加 往往增长到一个峰值后 然后下降 等待队列变长 系统资源反应系统处理能力指标 CPU占用率 Windows 95 Unix 85 内存可用数 10 或 4M 说明内存太小 或有内存泄露 内存页交换率 pagein s 80 CPU的队列长度 一直超过二 可能表示处理器堵塞 服务器的CPU可能是个
7、瓶颈 性能测试关注的指标 如何估算并发用户数 1 二八原则2 最大在线用户的5 20 3 C nL T并发用户数 登录用户的会话数量 每个会话的平均在线时长 考察的时间长度4 并发用户峰值 C C 3 C 泊松分布 性能测试关注的指标 如何估算并发用户数举例 如同百米赛跑 并发用户数指的是参赛的选手数量 每个选手 测试中使用的虚拟用户 的出发时间是一样的 完成操作的时间会稍有不同 一般每天访问量在100万以下的网站 并发的用户数不会超过100 除非访问时间非常集中 因此根据情况调整性能测试要求的相关数据 假设预计每天有100万的用户访问网站首页 访问高峰期为10小时 每次访问需要3秒的时间 按
8、以上公式 C nL T 可以得到并发数大致在80左右 80Vuser 10H 200Vuser 4H 性能测试过程 补充知识 Tomcat相关配置 配置文件server xml minProcessors 最小空闲连接线程数 用于提供系统处理性能 默认值为10maxProcessor 最大链接线程数 即 并发处理的最大请求数 默认值为75acceptCount 允许的最大连接数 应大于等于maxProcessors 默认值为100enableLookups 是否反查域名 取值为 true或false 为了提高处理能力 应设置为falseconnectionTimeout 网络连接超时 单位 毫
9、秒 设置为0表示永不超时 这样设置有隐患的 通常可设置为30000毫秒 补充知识 Tomcat相关配置 配置文件server xml 其中和最大连接数相关的参数为maxProcessors和acceptCount 如果要加大并发连接数 应同时加大这两个参数 Webserver允许的最大连接数还受制于操作系统的内核参数设置 通常Windows是2000个左右 Linux是1000个左右 Tomcat默认可以使用的内存为128MB 数据库相关参数UserConnections 用户连接数 也就是数据库的连接数量Numberofdeadlocks 数据库死锁 此数必须为0 BufferCachehit 数据库Cache的命中情况 17 Thankyou