在运维工作中,压力测试是一项很重要的工作。比如在一个网站上线之前,能承受多大访问量、在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验。今天我们就来深入了解下压力测试!

首先,什么是压力测试?

软件压力测试是一种基本的质量保证行为,它是每个重要软件测试工作的一部分。软件压力测试的基本思路很简单:不是在常规条件下运行手动或自动测试,而是在计算机数量较少或系统资源匮乏的条件下运行测试。通常要进行软件压力测试的资源包括内部内存、CPU 可用性、磁盘空间和网络带宽。

压力测试涵盖,性能测试,负载测试,并发测试等等,这些测试点常常交织耦合在一起。

顾名思义:压力测试,就是 被测试的系统,在一定的访问压力下,看程序运行是否稳定/服务器运行是否稳定(资源占用情况)。

比如:2000个用户同时到一个购物网站购物,这些用户打开页面的速度是否会变慢,或者网站是否会奔溃。

压力测试的步骤

(1)确定存量数据的规模(用户一般会要求制造出3-5年的存量数据);

(2)确定需要进行压力测试的业务(一般是用户使用最频繁,或者业务操作复杂的业务);

(3)确定操作用户的的数量、各类操作用户的比例;

(4)峰值业务量的要求(一般是1个小时内最多要处理的笔数);

(5)对实时业务响应时间的要求(如在峰值情况下,单笔业务的处理时间(如小于60秒));

(6)对于批量处理过程的时间要求(如进行日终(月终、年终)处理、与外系统间批量数据传输时的时间)。

以上信息,通常需要业务人员来确定。

为了进行压力测试的技术准备,需要如下资料:

(1)系统概要设计(了解系统技术架构,确定测试方法);

(2)如果自己开发接口程序,需要了解接口报文规范;

(3)数据库设计(我们需要据此编写程序,准备存量数据)。

为了开发脚本需要了解如下信息:

(1)操作手册(脚本录入或者手工开发脚本);

(2)参数化脚本(动态化数据需要进行关联);

(3)脚本回放(验证脚本是否可以成功的创建数据)。

测试场景:

(1)单用户运行压力测试场景;

(2)多用户运行测试场景,查看系统资源消耗等调优工作开始。

另外,还有测试环境的事情需要落实。压力测试一般要求环境配置较高,最好与生产环境一致或者接近。

几款流行的压力测试工具

(1)JMeter

Apache JMeter是Apache组织开发的基于Java的压力测试工具,用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java小服务程序、CGI脚本、Java 对象、数据库, FTP服务器, 等等。

JMeter可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能。

另外,JMeter能够对应用程序做功能回归测试,通过创建带有断言的脚本来验证你的程序是否返回了期望的结果。

为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。

(2)LoadRunner

LoadRunner是惠普旗下一款自动负载测试工具,它能预测系统行为,优化性能。LoadRunner强调的是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助更快的确认和查找问题。此外,LoadRunner 能支持最宽范的协议和技术,量身定做地提供解决方案。

(3)其他测试工具

Siege是一款开源的压力测试工具,可以根据配置对一个WEB站点进行多用户的并发访问,

记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。

TCPCopy是一种请求复制(所有基于tcp的packets)工具,可以把在线请求导入到测试系统中去。

TCPCopy的特点是可以拷贝线上真实流量,模拟用户数据。

最后,软件压力测试和性能测试的区别:

二者区别在于他们不同的测试目的

软件压力测试是为了发现系统能支持的最大负载,他的前提是要求系统性能处在可以接受的范围内,比如经常规定的页面3秒钟内响应;

所以一句话概括就是:在性能可以接受的前提下,测试系统可以支持的最大负载。

软件性能测试是为了检查系统的反映,运行速度等性能指标,他的前提是要求在一定负载下,如检查一个网站在100人同时在线的情况下的性能指标,每个用户是否都还可以正常的完成操作等。

概括就是:在不同负载下(负载一定)时,通过一些系统参数(如反应时间等)检查系统的运行情况。比如我们说某个网站的性能差,严格上应该说在N人同时在线情况下,这个站点性能很差)。

总之,就像一个方程式:综合性能=压力数*性能指数,

综合性能是固定的:

软件压力测试是为了得到性能指数最小时候(可以接受的最小指数)最大的压力数,软件性能测试是为了得到压力数确定下的性能指数。

总结:

在项目上线之前,都需要做压力测试,目的是看下我们的网站能抗住多少的压力,能承担多少并发,如果不做压力测试,一旦出现大访问量时,我们的网站会挂掉,所以压力测试真的很重要,都应该重视起来!


http://www.taodudu.cc/news/show-5209939.html

相关文章:

  • 网页中常用字体介绍
  • 【字体区别】Serif和Sans Serif
  • Serif 和 Sans-serif 字体的区别
  • 字体和常用web字体
  • 鸿蒙幻境这么做,天下手游鸿蒙幻境怎么玩 鸿蒙幻境玩法详解
  • 中国南北分界线上的古镇,有副对联难倒天下客,百年来无人对出
  • 游一品天下有感
  • 鸿蒙幻境这么做,天下手游鸿蒙幻境玩法详细介绍 鸿蒙幻境规则及奖励一览
  • 鸿蒙幻境这么做,天下手游鸿蒙幻境怎么玩?天下手游鸿蒙幻境玩法解析
  • 鸿蒙幻境这么做,天下手游鸿蒙幻境怎么打?天下手游鸿蒙幻境打法分享
  • 天下手游卡在获取服务器信息,天下手游军资获取方法 获取和使用经验分析
  • 逍遥天下游
  • 天下游安装方式和充值卡激活方式‘’
  • CentOS7下载安装输入法
  • java 检查 死链接_【转】15个网站失效死链接检查工具
  • 爬虫,找出网站中的死链
  • 记录小菜鸡的成长
  • 孩子成长记录
  • 乐斗至尊 -- 成长记录
  • 记录成长点滴,留住美满幸福
  • 记录宝宝成长脚印3/31
  • 育儿日记——宝宝生活记录好帮手app隐私政策
  • 成长的日记教案计算机,《写日记》优秀教学设计
  • 宝宝的成长脚印5/28
  • 宝宝成长天数统计
  • Java毕设项目儿童成长记录系统计算机(附源码+系统+数据库+LW)
  • 计算机毕业设计Java儿童成长记录系统(源码+系统+mysql数据库+lW文档)
  • 从今天开始后续记录自己的前端成长记录
  • 开始记录成长
  • 宝宝成长记录标准数据

压力测试总共需要几个步骤?相关推荐

  1. 软件测试员必知!压力测试总共需要几个步骤?思路总结篇

    在运维工作中,压力测试是一项很重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验.今天我们就来深入了解下压力测试! 首先, 什么是压力 ...

  2. 压力测试总共需要几个步骤?思路总结篇

    在运维工作中,压力测试是一项很重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验.今天我们就来深入了解下压力测试! 1.首先,什么是压 ...

  3. 软件测试压力测试步骤,软件测试员必知!压力测试总共需要几个步骤?思路总结篇...

    在运维工作中,压力测试是一项很重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验.今天我们就来深入了解下压力测试! 首先, 什么是压力 ...

  4. 做压力测试总共需要几个步骤?

    压力测试分为如下步骤: (1)确定存量数据的规模(用户一般会要求制造出3-5年的存量数据): (2)确定需要进行压力测试的业务(一般是用户使用最频繁,或者业务操作复杂的业务): (3)确定操作用户的的 ...

  5. JMeter 进行压力测试并发测试步骤,及文件上传并发测试演示

    使用 JMeter 进行压力测试 一.前言 压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率:预估系统的承载能力,使我们能 ...

  6. 从零开始的Nginx [ 8 ] --- nginx 的性能优化:ab接口压力测试工具,tomcat企业运维,WEB站点部署,项目上线

    文章目录 nginx 性能优化 1.当前系统结构瓶颈 2.了解业务模式 3.性能与安全 4.系统与nginx性能优化 1.文件句柄 2.设置方式 3.系统全局性修该和用户局部性修改 4.进程局部性修改 ...

  7. 使用 JMeter 进行压力测试

    一.前言 压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率:预估系统的承载能力,使我们能根据其做出一些应对措施.所以压力测 ...

  8. jmeter 高并发测试报告_使用 JMeter 进行压力测试

    原文连接:使用 JMeter 进行压力测试 一.前言 压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率:预估系统的承载能力 ...

  9. 使用ab进行压力测试详解

    当你使用PHP(或其他编程语言)完成一个web程序的开发,并且web程序在Apache服务器上正常运行的时候,你有没有考虑过对你的Apache服务器及部署在其上的web程序进行一些压力测试呢?毕竟,真 ...

最新文章

  1. 七牛云存储:通过SDK上传图片
  2. 基础练习 查找整数 c语言
  3. sql中的left join、right join、inner join
  4. 如何编写高性能的C#代码(一)
  5. 关于明晚即将发布的新款 iPad Pro,最大的亮点也许不是 Face ID
  6. leetcode - 统计封闭岛屿的数目
  7. java编程二十_Java语言程序设计(二十)编程练习
  8. centos mysql压缩文件直接恢复_CentOS下利用mysqlbinlog恢复MySQL数据库
  9. android camera实例
  10. 浅谈算法和数据结构: 三 合并排序
  11. UEditor之实现配置简单的图片上传示例
  12. 《新白娘子传奇》隐藏惊天秘密-白素贞的身世之谜
  13. 3322动态域名,nat123动态域名解析,dnspod域名解析,等相关免费动态域名解析软件对比
  14. 英语各种数字表达方式大全(转载)
  15. Windows程序闪退原因查看方法----事件查看器
  16. springboot上传图片到阿里云OSS并实现浏览器预览
  17. 电子齿轮 电子凸轮
  18. java降噪_耳机降噪技术有哪几种?
  19. Hitters数据集数据分析
  20. AcWing 1714.混合牛奶

热门文章

  1. python 1Day
  2. rj45插座尺寸图_rj45插座组成部分及使用说明
  3. linux centos7 图形界面与dos界面切换方法
  4. 3-3 OneHot编码
  5. 全民挂机西游隐私政策
  6. pymo模拟器JAVA下载_pymo下载-pymo模拟器软件安卓最新v1.1 - 比克尔下载
  7. python开发酷q插件gui_基于python和酷Q的QQ机器人开发实践(1)
  8. linux睡眠流程,sleep命令_Linux sleep命令:让程序暂停或休眠一段时间
  9. 如何将微信聊天记录导出为pdf
  10. CPS-一种新型电商营销方式