性能测试你了解多少?

  开头总是千篇一律,毕业于一个不起眼的学校,在学校的几年是彻底的浪费了,因为一入门接触的就是软件测试各种理论知识所以后面学习的也就是这方面的东西了,毕业后和其他年轻人一样怀着梦进行北漂,因为北漂女朋友都没有了。刚开始工作时和大家一样都是向往着做性能测试、自动化测试不愿意做功能测试,总觉得那没钱途,就各种学习性能测试,刚开始总想着学好了loadrunner就可以做性能测试了,在一个专业的性能测试员看来这是多么可笑的问题,这也是多么天真的想法呀!虽然现在的我对性能测试也只是只懂皮毛。但还是希望通过这篇文章能让一些新手们对于性能测试有个入门的了解。多的不说了!

  在做性能测试之前一定要弄清楚几个问题:

  性能测试的目的
 

  接下来再谈其他的。

  某天领导对你说,去给我们系统做个性能测试,千万别直接说“好!”然后,就走了,我以前这么干过,(而且还把测试报告弄出来了,不过现在回看发现那报告根本没有任何意义)(那时不懂,打肿了脸充胖子),回到座位后,不知从何下手了。那么,我们需要知道什么呢?

  首先要知道具体的需求。(简单的说一下其实性能测试现在我接触到的其实有两种,一种是web页面前端的性能,二是我们正常所理解的后台处理业务的能力,就是常说的要观察的并发、最大用户数、吞吐量、内存、数据库、中间件等)

1、有明确要求

 系统要求同时满足1000用户登陆,平均每个用户登陆时间不能超过5秒。这个需求很明确,但是至于怎么达到这样的结果就不是我们考虑的了,优化系统还是加硬件什么的再讨论!

2、只是想知道目前系统性能(容量测试)

 就是求得最大用户数和最佳用户数。这是比较模糊的一个需求,我们需要对系统做出分析,找出系统的压力点。

3、找出系统性能瓶颈

  当我看见这样的需求时我头疼,可能是因为对这个还不专业。这个同样需要分析可能对系统造成瓶颈的逻辑业务,然后才能进行性能测试。前提是你对这个体统非常的熟悉,无论是业务还是功能。

4、了解系统在长时间的压力下性能状况(强度测试)

 这一般是验证系统的稳定性,因为系统一旦上线,就有可能会长期处在大用户的访问状态,可能以前没发现的一些问题就会暴漏出来。比较典型的就是内存溢出。以前这样的问题我遇见过,同样的并发数跑2、3个小时没有问题,但是用户数小一些跑了8个小时结果服务器果断挂掉了。最后发现是app连接池出了问题。

  二、性能测试的环境    

  确定了测试目的,当然需要搭建测试环境。这里的环境,我们需要考虑几点

1、硬件环境

  我们需要了解被测服务器硬件配置,用于加压客户端的机子配置,CPU 内存  等

2、软件环境

 我们需要了解被测系统的架构,前端、中间件、服务器(这里指运行系统软件服务器,如tomcat)、数据库,以及他们的部署位置。

用于加压的客户端采用什么性能测试工具进行加压。

3、网络环境

 网络环境很重要。在上面的几个目的中,除了找出系统性能瓶颈可以在广域网进行,因为这个目的可以不用设置太多的虚拟用户,只要找出系统哪个地方影响了整个系统的性能就行。

 其他目的的测试都需要在,局域网进行,不然你压力工具所发送的请求都会卡死在网络的传输过程中。还有一点就是做测试时最好晚上做,不然你做性能测试时将带宽都占用了你们单位的人就没办法办公了!

  三、寻找系统的压力点  

  我们需要对系统的哪个页面或业务进行加压。这个不是自己想出来的,需要与开发人员的沟通。系统的首页?系统的登录?还是系统的交易过程?各个业务的用户比例是多少?只有获得有效的性能需求,才容易寻找和定位压力点!如果你对这几点都很清晰了,那么打开你的性能测试工具开始录制(或编写)你的性能测试脚本吧!

  四、必备知识

   在刚开始都说了性能测试不只是说你会loadrunner就可以了。你必备的:

    1、性能测试工具

      这个大家都明白,好比现在用得比较多的Loadrunner,但这只是其中一个,还有很多:web
Bench、ab、Siege、JMeter、loadrunner~~~~~等等

    2、掌握一门编程语言

      至于为什么呢?其实你只要做了性能测试你都知道在很多情况下是不能够进行录制的,或者说没有录制到,所以这个时候就需要我们动手写脚本了。还有就是虽然工具虽然强大,但是他也不是万能的,像商用的loadrunner他的功能已经很强大了,可是他是商业用途,价格你懂的。多掌握一门没错!

    3、计算机原理以及操作系统知识

      这方面的东西必须懂,不然别人说起什么内存泄漏、死锁、乱码等问题你都不知道那真的~~~~~

    4、有良好的网络基础知识

      这个为什么其实我们经常遇见的就是关联问题,这下懂了吧!

    5、数据库知识

    6、中间件知识

  我说的可能还只是一部分,也需要不断的学习了解、探索。如果连这些不懂那么更加不能谈后面的瓶颈定位、优化。

  好比定位一个系统的瓶颈时你需要去查找是:1、硬件上的性能瓶颈?2、软件上的性能瓶颈?3、程序上的性能瓶颈?4、操作系统上的性能瓶颈?5、网络设备上的性能瓶颈?

  所以如果要做性能测试这些东西都是必不可少的!

    备注:这只是个人的观点,有什么错误的地方还请大家指出来!

性能测试你了解多少?,布布扣,bubuko.com

时间: 2024-10-13 13:10:22

性能测试你了解多少?的相关文章

app性能测试【通过loadrunner录制】

随着智能手机近年来的快速增长,从游戏娱乐到移动办公的各式各样的手机APP软件渗透到我们的生活中,对于大型的手机APP测试不仅要关注它的功能性.易用性还要关注它的性能,最近发现LoadRunner12可以对手机APP做性能测试,但由于LoadRunner12还没有破解版最多只有50个并发用户,所以我用LoadRunner12录制手机APP的脚本后放到LoadRunner8.0里进行压测,LoadRunner8.0可并发10000个用户. 1.下载CCProxy代理服务器,安装运行该软件用来检测本机

RC ORC Parquet 格式比较和性能测试

RC ORC Parquet 格式比较和性能测试 作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 为什么要比较这三者 为什么要比较,起因是为了提高Hadoop集群的存储和计算效率,尤其是离线Hive作业的效率,为什么比较的是这三者,是因为三者是目前Hive离线作业中正在大规模使用或可能大规模使用的三种主流的相对成熟的文件格式 对于ORC性能的评测,Hortonworks发过一

Android性能测试

测试应用的启动时间 adb shell am start -W packagename/activity,eg:adb shell am start -W com.tencent.mm/.ui.LauncherUI,显示的结果中,thisTime和totalTime的含义分别为: thisTime: just current activity launched time totalTime:the activity you started may be on the bottom of acti

性能测试指标

性能测试指标 通用指标(指Web应用服务器.数据库服务器必需测试项) Web服务器指标 数据库服务器性能指标 系统的瓶颈定义 稳定系统的资源状态 通俗理解: ·日访问量 ·常用页面最大并发数 ·同时在线人数 ·访问相应时间 案例:最近公司一个项目,是个门户网站,需要做性能测试,根据项目特点定出了主要测试项和测试方案: 一种是测试几个常用页面能接受的最大并发数(用户名参数化,设置集合点策略) 一种是测试服务器长时间压力下,用户能否正常操作(用户名参数化,迭代运行脚本) 一种则需要测试服务器能否接受

Android内存和Cpu性能测试

Android内存限制java虚拟机有内存使用上限的限制 adb shell进入手机,这此参数被纪录在/system/build.prop中,如果想直接查看可以使用adb shell getprop 单个应用程序最大内存限制,超过这个值会产生OOMdalvik.vm.heapgrowthlimit 应用启动后分配的初始内存dalvik.vm.heapstartsize 单个java虚拟机最大的内存限制,超过这个值会产生OOMdalvik.vm.heapsize 小米2S的一些内存限制 #查看单个

16、编译安装bind 9.10.6及queryperf性能测试 学习笔记

1.安装开发环境 [[email protected] ~]# yum -y groupinstall "Server Platform Development" "Development tools" 2.编译安装bind [[email protected] ~]# tar xf bind-9.10.6.tar.gz [[email protected] ~]# cd bind-9.10.6 [[email protected] bind-9.10.6]# ./

孰优孰劣?Dubbo VS Spring Cloud性能测试大对决!

最近我们试图从Dubbo迁移到Spring Cloud.为此对二者分别进行了性能测试.为了得出数据量不同的情况下的二者的性能表现,我们分别准备了一个25个属性pojo对象和一个50个属性的pojo对象,通过这样的方式我们也可以间接地了解二者在序列化方面的水平. 以下是测试结果: 25个属性,10W次: 50个属性,10W次: 分析:         由于Spring Cloud与Dubbo天生使用的协议层面不一样,前者是HTTP,后者是TCP(使用的是Netty NIO框架,序列化使用的阿里定制

利用apache ab命令完成性能测试

ab是什么 ab的全称是ApacheBench,是 Apache 附带的一个小工具,专门用于 HTTP Server 的benchmark testing,可以同时模拟多个并发请求. ab的用法 ab 的用法是:ab [options] [http://]hostname[:port]/path 例如: ab -n 1000 -c 200 http://xqtesting.blog.51cto.com/ 上例表示总共访问小强的博客这个脚本1000次,200并发同时执行. ab -n 1000 -

利用pylot进行性能测试

介绍 l 基于python编写的性能测试工具,简单.易用,可以完成不太复杂的性能测试. l 目前只能基于python2.5 32位来使用,比较遗憾,而且貌似已经不在维护了,唉 安装 l 先安装python2.5 32位,并修改环境变量 l 下载pylot压缩包,解压后直接可以用,不需要安装 l 还有两个包是和图形相关的,是exe文件,下载下来后直接安装即可 使用 1.最简单的使用 l 修改testcase.xml,添加你要测试的URL l cmd进入pylot目录,执行命令:python run

利用jmeter的集合点完成性能测试

jmeter是一个开源的轻量级工具,随着互联网的发展,jmeter应用的越来越广泛.除了可以完成我们的接口自动化,还可以完成我们所需的性能测试. 随着jmeter的应用和升级,之前与lr的差别越来越小.现在我们通过jmeter的Synchronizing Timer设置集合点进行性能测试. 一.添加集合点: 1.右键点击线程组,选择定时器 2.定时器中选择Synchronizing Timer 3.设置Number of Simulated Users to Group by 4.设置Timeo