性能测试思路概要

上一篇 / 下一篇  2016-03-24 11:01:47 / 个人分类:性能测试

读了大神的几篇文章,颇有心得。想写一篇总结博文,才发现尼玛太难了:没有及时总结,只把脑子里还记得的立马写下来,写完才发现完全无法串通,也是心累。难怪大神总是建议多加总结,这不仅是文笔的问题,也非常的锻炼思维逻辑,进而加深记忆和理解。


我总是分不清性能测试压力测试,负载测试?

性能测试:通过模拟系统的运行环境,检验在特定的场景中性能表现是否和预期目标一致,评判系统是否存在性能缺陷,并根据测试结果定位并调优。

压力测试:在一定条件饱和的状态下(最大用户数运行,CPU和内存饱和使用)运行系统,检验系统在峰值负载或超出最大载荷情况下的处理能力。在压力级别逐渐增加时,系统性能应该按照预期缓慢下降,但是不应该崩溃。压力测试还可以发现系统崩溃的临界点,从而发现系统中的薄弱环节。

例如:系统最大支持的同时在线用户数是1000个,压力测试需要测试在1000个用户甚至2000个用户同时在线时系统的表现。虽然测试时负载已经超过了系统的设计能力,但是在这种情况下被测试系统也不应该发生崩溃。压力测试也可以针对系统资源进行测试,例如:在系统内存耗尽情况下,测试系统的运行情况,这种情况下被测试系统也不应该崩溃。

负载测试:对一个系统进行持续不断地加压,检验系统多长时间后会超出用户需求或崩溃。例如:通过增加并发用户数和(或)事务数量来测量组件或系统能够承受的负载。负载测试和性能测试的主要区别在于负载测试时,系统负载是逐渐增加的,而不是一步到位,负载测试需要观察系统在各种不同的负载情况下是否都能够正常工作。随着负载的增加,需要观察响应时间和系统资源等占用情况。

 

然而终于明白弄清数据传递是多么的重要:

 

大部分性能测试时基于B/S架构系统,所以需要深刻的了解浏览器与服务器之间的关系,简单粗暴来解释:客户端向浏览器发出指令------浏览器根据指令向服务器发出请求------服务器接受请求并返回数据------浏览器收到数据呈现给客户端;

为了提高整个过程的响应时间,重点在于服务器向浏览器传递数据的速度,为了提高速度可以减少数据的传递此说或数据传递的大小,这就体现了cookie的价值。

Cookie是由Server生成,发送给浏览器,浏览器会将Cookie的key/value保存到某个目录下的某个文本文件内,下次请求同一网站时就发送该Cookie给Server,便可以简化搜索数据的程序。这样就大大加快了数据交互的速度。

 

最后还谋求到性能分析的几个重要数据:

一、最佳用户数:系统在没有资源浪费的情况下处理事务效率最高,用户也不需要等待时的用户数,即上图的轻负载和重负载的交界处;

二、最大用户数:当系统负载达到最大并发用户数后,响应时间超过用户可以忍受的最大限度,即上图的重负载和用户无法忍受放弃请求的交界。

三、拐点:通过对事务响应时间,吞吐量,用户数三个数据的分析得到拐点,然后分析再逐步分析性能瓶颈。

所谓的“性能”是一个整体的概念,是系统的负载与吞吐量、可接受的响应时间以及资源利用率之间的平衡“好的性能”意味着更大的最佳并发用户数和 最大并发用户数;而分析性能瓶颈的关键在与拐点。

【实例讲“最大”和“最佳”:http://www.cnblogs.com/jackei/archive/2006/11/20/565527.html


TAG:

libingyu135的个人空间 引用 删除 libingyu135   /   2016-03-24 11:06:59
这个格式也太难弄了~~~~
 

评分:0

我来说两句

我的栏目

日历

« 2024-03-28  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 10134
  • 日志数: 5
  • 建立时间: 2014-04-28
  • 更新时间: 2016-03-30

RSS订阅

Open Toolbar