最近项目上在对网站和wap做性能优化(目标是支持200个并发,在登录和课程详情页的相关操作),借此机会学习性能测试

1.了解性能测试的基础知识

2.性能测试的流程;

3.怎么样录制脚本;

4.怎样配置参数,实施压测;

5.怎么输出报告;

6.怎么分析报告;

1、《性能测试基础知识》 https://www.cnblogs.com/imyalost/p/5640818.html

1、定义

对响应时间的评估、分析,结合应用的架构和实现细节找出问题,并最终确认问题得到解决的过程

2、影响软件性能的因素

网络环境、数据库服务器、应用服务器、业务逻辑的实现方式、系统采用的架构、代码的优化程度、使用者的使用方式等

3、测试模型

通用的软件测试过程模型(PTGM)、敏捷软件测试模型(ATPM)

4、软件性能测试的应用领域

能力验证、规划能力、性能调优、瓶颈发现、性能基准比较

一:基础篇

1、软件性能测试的基本概念

1.1 性能是一种指标(软件性能对其及时性要求的符合程度)

性能的及时性用响应时间或者吞吐量表示

响应时间:对请求做出响应所需要的时间

例子:交互式的应用(web):用户感受到的响应时间

非交互式的应用(嵌入式或者银行等业务处理系统):系统对事件产生响应的time

1.1.1 用户视角的软件性能

端→端

用户操作——数据操作请求——(应用服务器)服务端响应——返回数据——用户端

1.1.2 管理员视角的软件性能

服务器资源使用状况是否合理                       资源利用率

数据库资源使用状况是否合理                       资源利用率

系统能否可以实现扩展                            系统可扩展性

系统的最大并发,压力是多少

并发:最多能支持多少用户访问                     系统容量

压力:最大的业务处理量

系统可能的瓶颈在哪里                            系统可扩展性

更换什么设备能提升系能                          系统可扩展性

能否支持7*24小时的业务访问                      系统稳定性

1.1.3 开发视角的软件性能 ???

架构设计是否合理                               系统架构

数据库设计是否存在问题                          数据库设计

代码是否存在性能方面的问题                       代码

系统中是否存在不合理的内存使用方式                代码

系统中是否存在不合理的线程同步方式                设计与代码

系统中是否存在不合理的资源竞争                   设计与代码

1.1.4 web前端性能

Web应用的前端响应时间:页面加载时间

其中包括:

1.对HTML的解析读取

2.对页面图片及CSS等文件的获取和加载

3.客户端脚本(JavaScript)的执行时间

4.对页面进行展现所花的时间

1.2软件性能的几个主要术语

1.2.1

合理的响应时间取决于实际用户需求

1.2.2

并发用户数:N数值的用户同时访问系统

1.服务器实际承受的压力不只取决于并发用户数,还取决于用户的业务场景

2.服务端承受的最大并发访问数取决于并发用户数+业务场景

业务场景:通过服务器日志的分析得出的结果

1.2.3 吞吐量

定义:单位时间内系统处理客户请求的数量

一般来说,请求数/每秒OR页面数/每秒来衡量

从业务角度来说,访问人数/天OR处理的业务数/小时来衡量(PV、UV)

从网络角度来说,字节数/天来考察网络流量

对于交互式应用,吞吐量指标反映服务器承受的压力,在容量规划测试中,吞吐量是个很重要的指标,因为它能说明系统级别的负载能力

Web系统的性能测试中,吞吐量指标可以在两个方面发挥作用

1.协助设计性能测试场景,以及衡量性能测试场景是否达到预期的设计目标

2.协助分析性能瓶颈

PS:大部分性能测试中,单击数(Hits)指客户端发出的HTTP的请求数量,而不是指用户在页面上的一次单击事件。

比如:一次单击事件请求页面A,页面A包含3张图片和一个框架(Frame),则这次单击共产生了5个Hits(包括对页面A本身的请求)

1.2.4性能计数器(Counter)

定义:描述服务器或者操作系统性能的一些数据指标

作用:监控、分析

分析系统可扩展性,进行性能瓶颈的定位时,计数器取值非常关键

相关指标:资源利用率:系统各种资源的使用情况

1.2.5思考时间(Think Time)

休眠时间:用户操作时间每个请求的间隔时间

体现在脚本中,就是操作之间放一个Think函数,使脚本在执行两个操作之间等待一段时间

R=T/Ts   (请求数=时间/请求间隔时间)

推荐一个计算思考时间的方法:

1.首先计算出系统的并发用户数

2.统计出系统平均的吞吐量

3.统计出平均每用户发出的请求数量

4.根据上面的公式得出请求时间

2、《性能测试类型》  https://www.cnblogs.com/imyalost/p/5653342.html

1、负载测试(可置性测试)

定义:在被测系统上不断增加压力,直到性能指标(如响应时间)超过预期指标或者某种资源使用已经达到饱和状态。可以找到系统的处理极限,为系统调优提供数据

特点:

1):该方法主要目的是找到系统处理能力的极限

2):该方法在给定的测试环境下进行,通常需要考虑被测系统的业务压力量和典型场景

3):该方法一般用来了解系统的性能容量,或者是配合性能调优来使用

性能容量:系统在保证一定响应时间的情况下能够允许多少并发用户的访问

2、压力测试

定义:系统在一定饱和状态下,例如CPU、内存等饱和情况下,系统能够处理的会话能力,以及系统是否会出现错误

特点:

1)该方法一般通过模拟负载等方法,使得系统的资源使用达到较高的水平

2)该方法的主要目的是检查系统处于压力情况下是应用的性能表现

该方法通过增加访问压力,是系统资源使用保持在一定水平,检验此时应用的表现,重点在于有误出错信息产生,系统对应用的响应时间等

并发测试:简单理解就是业务场景短时间内有大量的请求需要处理,一般出现在登陆或者某些比较重要的模块,按钮

4、配置测试

定义:通过对被测系统软硬件环境的调整,了解各种不同环境对系统性能影响的程度,从而找到系统各项资源的最优分配原则

特点:

1)该方法主要目的是了解各种不同因素对系统系能影响的程度,从而判断出最值得进行的调优操作

2)该方法一般在对系统性能状况有初步了解后进行

需要在确定的环境、操作步骤和压力条件下进行

3)该方法一般用于性能调优和规划能力

5、并发测试

定义:模拟多用户并发访问同一个应用、模块或者数据记录时是否存在死锁或者其他性能问题

特点:

1)该方法主要目的是发现系统中可能存在的并发访问时的问题

2)该方法主要关注系统中可能存在的并发问题。比如:内存泄漏、线程锁和资源争用等问题

3)该方法可以在开发的各个阶段使用,需要相关的测试工具的配合和支持

常用工具:商业软件loadrunner:功能完整强大,内存占用大,需要收费

开源工具jmeter:开源免费,自由,操作较简单,能辅助完成日常的一些测试工作

6、可靠性测试

定义:给系统施加一定的业务压力,让其持续运行一段时间,测试在这种条件下能否稳定运行

特点:

1)该方法的主要目的是验证系统是否支持长期稳定的运行

2)该方法需要在压力下持续一段时间的运行

3)测试过程中需要关注系统的运行情况

比如:内存使用或者其他资源的使用以及响应时间有无明显变化

转载于:https://www.cnblogs.com/ww-xiaowei/p/10278449.html

Jmeter 性能测试的基础了解相关推荐

  1. JMeter性能测试的基础知识和个人理解

    JMeter性能测试的基础知识和个人理解 1. JMeter的简介   JMeter是Apache组织开发的开源项目,设计之初是用于做性能测试的,同时它在实现对各种接口的调用方面做的比较成熟,因此,常 ...

  2. 性能测试:基础(4)

    一.性能测试三连问 1何时进行性能测试? 性能测试的工作是基于系统功能已经完备或者已经趋于完备之上的,在功能还不够完备的情况下没有多大的意义.因为后期功能完善上会对系统的性能有影响,过早进入性能测试会 ...

  3. jmeter性能测试步骤入门

    目录 一.Jmeter简介 二.Jmeter实现性能测试 三.总结 一.Jmeter简介 1 概述         jmeter是一个软件,使负载测试或业绩为导向的业务(功能)测试不同的协议或技术. ...

  4. 超详细!Jmeter性能测试(一)

    *Jmeter 性能测试(一) 首先开发会给你一个接口文档.我们这边是做支付方面的,所以我们要求给下单支付接口做下压测. 由于我们这边接口都是有加密参数的,所以都是直接在JAVA工程包里直接跑的,因为 ...

  5. 一条Jmeter性能测试精通之路视频(52集干货)

    Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件.相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测试人员都必须要掌握的工 ...

  6. 企业落地级jmeter性能测试,结果分析以及报告(4-2)

    前言: 今天这篇文章是jmeter性能测试的第二阶段的文章,后续还会更新更多牛逼哇赛的干货哈,喜欢的兄弟们点点关注铁铁 [文章的末尾给大家留下了大量的福利哈] ​ 十一.IF控制器(If Contro ...

  7. 性能测试 性能测试实战(八)Jmeter性能测试平台开发,性能测试平台架构解析 ,性能测试平台搭建 分布式性能压测平台 Jmeter分布式性能测试管理平台 性能测试平台示例案例 《完结篇》

    文章目录 一.前言 二.Jmeter分布式性能测试平台 介绍 1.Jmter分布式性能测试平台 简介 2.Jmeter分布式性能测试平台 优秀案例1 3.Jmeter分布式性能测试平台 优秀案例2 4 ...

  8. csdn最牛“首发”性能测试系类文章---jmeter性能测试从理论基础到项目搭建【3-1】

    [性能测试系类文章大纲] 最近看很多小伙伴问我凡叔什么时候出性能测试系类呢,这不就来了嘛,连续肝了几天终于是赶出来了,这段时间公司有点忙,所以可能更新的速度没用那么快哦,不过也不会慢到哪里去,, 好了 ...

  9. JMeter性能测试——PerfMon Metric Collector服务器资源监控插件详解

    我们对被测应用进行性能测试时,除了关注吞吐量.响应时间等应用自身的表现外,对应用运行所涉及的服务器资源的使用情况,也是非常重要的方面,通过实时监控,可以准确的把握不同测试场景下服务器资源消耗情况的变化 ...

最新文章

  1. 003_ActiveMQ管理后台
  2. Android从普通发送和接收短信到对短信进行拦截
  3. nginx配置ssl(配置文件)
  4. linux下通用Makefile写法
  5. [剑指offer][JAVA]面试题第[22]题[j剑指offer][双指针][快慢指针]
  6. LeetCode-236: 二叉树的最近公共祖先
  7. python+Android+uiautomator的环境
  8. Java Kafka 简单示例
  9. Web 爬虫现已合法?
  10. 《R语言编程艺术》——第1章 1.0 快速入门
  11. python-extend用法
  12. 制作小游戏贪吃蛇即解决将python制作成exe
  13. 购物车html js代码,js实现购物车功能
  14. Struts2面试题大集合
  15. 解决mysql报Lock wait timeout exceeded; try restarting transaction的问题
  16. Unity3D模型 | SolidWorks建模导入Unity
  17. securecrt 远程映射端口
  18. 币值最大化问题 C++C++
  19. 【优化】seo之提升网站流量的四种方法
  20. C++函数的递归调用

热门文章

  1. html5漂亮的登录与注册界面设计,漂亮的网页登陆/注册表单设计
  2. 提升效率,从这款智能挂灯开始
  3. SKY77645 导致的Rach failure问题
  4. IO多路复用之epoll模型
  5. 什么是 返点、分销、直销、代理、代销
  6. SpringBoot 微信点餐开源系统,值得一看
  7. 东周列国 演绎版 mp3
  8. 圆孔衍射夫琅禾费衍射matlab仿真
  9. 如何使用NE555设计一个触摸延时灯或开关
  10. Oracle表误操作恢复历史数据方法