谈谈Web端性能测试

文章讨论了在Web2.0背景下,如何通过性能测试工具模拟大量用户访问,测试Web应用系统的性能,包括并发的两种类型、测试数据的分类、测试步骤和场景,以及监控的关键指标。同时,提出了性能瓶颈分析的原则和信息来源,强调了性能测试在软件稳定性评估中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

​       随着Web 2.0技术的迅速发展,许多公司都开发了一些基于Web的网站服务,通常在设计开发Web应用系统的时候很难模拟出大量用户同时访问系统的实际情况,因此,当Web网站遇到访问高峰时,容易发生服务器响应速度变慢甚至服务中断。为了避免这种情况,需要一种能够真实模拟大量用户访问Web应用系统的性能测试工具进行压力测试,来测试静态HTML页面的响应时间,甚至测试动态网页(包括ASP、PHP、JSP等)的响应时间,为服务器的性能优化和调整提供数据依据。

1、案例分析

NO.1
并发分两类:
 1、所有的用户在同一时刻进行完全一样的操作;
 2、多个用户对系统发出了不同的请求或者进行了不同的操作。

NO.2
性能测试数据分为基础数据和业务数据两部分:
 1、为了使表中的数据达到一定的数量级而填充的数据,目的是测试出数据库索引是否足够优化、表空间、索引空间是否足够;
 2、为了使被测系统能够按业务逻辑运行起来的数据,通俗而言,就是功能测试所使用的数据,目的是测试出SQL语句是否足够优化、代码是否足够优化等。
 
NO.3
先单场景,后混合场景:
 1、单场景执行,可以详细测试到某个页面、某个接口等“单点”的性能,这种方式有利于定位性能瓶颈,优化代码;
 2、混合场景,在单场景都优化完成后,按照一定的比例对各种场景进行组合,测试整个应用系统的总体性能表现。
 
NO.4
性能测试通常需要监控的指标包括:
 1、服务器:Linux应用服务器。
  具体包括CPU、Memory、Load、I/O、Disk等。
 2、数据库:1.Mysql 2.Oracle。
  具体包括缓存命中、索引、单条SQL性能、数据库线程数、数据池连接数等。
 3、中间件:1.Jboss 2. Apache。
  具体包括线程数、连接数、日志输出等。
 4、网络。
  具体包括防火墙、网卡、网线、吞吐量、吞吐率等。
 5、应用服务。
  具体包括JVM内存使用和回收、JAVA内存使用、Full GC频率、JAVA类装入和卸载、日志、线程运行状态(阻塞、等待、正常运行)等。
 6、监控工具(LoadRunner)。
  具体包括用户执行情况、场景状态、事务响应时间、TPS、Load、CPU分析图表等。
 7、测试机资源。
  具体包括CPU、Memory、网络、日志输出、磁盘空间、负载生成器评估等。
 
NO.5
分析原则:
 1、在分布式架构下,性能瓶颈分析也变得相对困难。针对不同的应用系统、不同的测试目标、不同的性能关注点,根据性能指标的表现,采用“拆分问题,隔离分析”的方法进行分析,即逐步定位、从外到内、从表及里、逐层分解、隔离排除。
  淘宝性能分析,可按以下顺序:
   中间件瓶颈(apache/jboss参数配置、数据库参数配置)-> 应用服务的debug log -> 应用服务的filter log -> 本应用的性能瓶颈(代码、SQL语句、索引、业务逻辑、线程池设置、算法)-> 服务提供者的性能瓶颈 -> 相关联的底层存储应用的性能瓶颈
注:以上是比较通用的分析过程,具体性能测试查找瓶颈过程中,需要具体问题具体分析。

NO.6
分析信息来源:
 1、监控工具所采集的信息。
  包括LoadRunner和“监控工具”部分描述的工具。具体为:TPS、响应时间、用户并发数、JVM内存、Full GC频率、CPU利用率、Load等。
 2、应用服务器的日志。
  包括本应用和远程应用的错误日志、超时日志等。
 3、项目配合人员所提供的信息。
  包括DBA提供的数据库监控信息、开发人员提供的代码逻辑信息、OPS提供的配置专业指导信息。
 
NO.7
分析标准
通过性能指标的表现形式,分析性能是否稳定。比如:
 1、响应时间是否符合性能预期,表现是否稳定。
 2、应用日志中,超时的概率,是否在可接受的范围之内。
 3、TPS维持在多大的范围内,是否有波形出现,标准差有多少,是否符合预期。
 4、服务器CPU、内存、Load是否在合理的范围内,等等。
分析标准参考“性能测试通过标准”的各项指标进行。

2、总结

      对于一个软件,光靠手动测试是绝对不行的,只有通过相应的性能测试才可评估软件的稳定性,可靠性等。也只有在不断的压力负荷的情况下才能找到软件中更多的不足。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值