压力测试-商场项目

这篇具有很好参考价值的文章主要介绍了压力测试-商场项目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.压力测试

压力测试是给软件不断加压,强制其在极限的情况下运行,观察它可以运行到何种程度,从而发现性能缺陷,是通过搭建与实际环境相似的测试环境,通过测试程序在同一时间内或某一段时间内,向系统发送预期数量的交易请求、测试系统在不同压力情况下的效率状况,以及系统可以承受的压力情况。然后做针对性的测试与分析,找到影响系统性能的瓶颈,评估系统在实际使用环境下的效率情况,评价系统性能以及判断是否需要对应用系统进行优化处理或结构调整。并对系统资源进行优化。

1.1在压力测试中我们会涉及到相关的一些性能指标:

1. 响应时间(Response Time:RT):从客服端发送请求开始到获取到服务器的响应结果的总的时间
2. HPS(Hits Per Second):每秒点击的次数
3. TPS(Transaction Per Second):系统每秒处理的交易数,也叫会话次数,一套完整的业务流程
4. QPS(Query Per Second):系统每秒处理查询的次数

在互联网企业中,如果一个业务有且仅有一个请求连接,那么TPS=QPS=HPS的,而在一般情况下用TPS来衡量整个业务流程,用QPS来衡量接口查询的次数,用HPS来衡量服务器单击请求。

我们在测试的时候就会通过这些指标(HPS,TPS,QPS)的数据来衡量系统的系统,指标越高说明系统性能越好,在一般情况下,各个行业的指标范围有着比较大的差异,下面简单的列举了下,仅供参考

金融行业:1000TPS~50000TPS
保险行业:100TPS~100000TPS
制造业:10TPS~5000TPS
互联网大型网站:10000TPS~1000000TPS
互联网其他:1000TPS~50000TPS

 1.2压测相关名词

名词 说明
最大响应时间 用户发出请求到系统做出响应的最大时间
最少响应时间 用户发出请求到系统做出响应的最少时间
90%响应时间 指所有用户的响应时间进行排序,第90%的响应时间

1.3当我们从外部来看,性能测试主要要关注这三个性能指标 

指标 说明
吞吐量 每秒钟系统能够处理的请求数,任务数
响应时间 服务处理一个请求或一个任务的耗时
错误率 一批请求中结果出错的请求所占的比例

2.压测工具JMeter

官网地址:https://jmeter.apache.org/download_jmeter.cgi 下载后解压即可,然后进入到bin目录下双击 JMeter.bat文件即可启动

2.1JMeter基本操作

2.1.1添加线程组

线程组的作用就是定义任务的相关属性,比如每秒执行多少线程,重复多少次该操作

压力测试-商场项目,压力测试

2.2取样器

在定义了线程组后,我们得继续定义每个线程的操作行为,也就是创建对应的取样器,在取样器中我们定义要访问的服务的协议及地址信息。

压力测试-商场项目,压力测试

2.3 然后我们需要在取样器中定义服务的信息

压力测试-商场项目,压力测试

 2.3监视器

在取样器中我们定义了要访问的服务信息,然后我们就要考虑请求后我们需要获取任务的相关的指标信息。这时就用到了监视器。

压力测试-商场项目,压力测试

2.4对应的结果数据有 查看结果树 汇总报告 聚合报告 ,查看结果对应的图形 汇总图 ..... 

压力测试-商场项目,压力测试

 3.JMeter Address 占用的问题

压力测试-商场项目,压力测试

搜索之后发现需要在regedit中添加注册表项MaxUserPort,TcpTimedWaitDelay重启一下就可以解决了。

3.1解决方法:

打开注册表:ctrl+r 输入regedit
进入注册表,路径为:\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,(十进制)设置为30秒。名称:TcpTimedWaitDe,值:30
新建DWORD值,(十进制)最大连接数65534。名称:MaxUserPort,值:65534

压力测试-商场项目,压力测试

4.性能优化

4.1考虑影响服务性能的因素

数据库、应用程序,中间件(Tomcat,Nginx),网络和操作系统等

我们还得考虑当前的服务属于

CPU密集型:计算比较影响性能--->添加CPU,加机器
IO密集型:网络IO,磁盘IO,数据库读写IO,Redis读写IO --》缓存,加固态硬盘,添加网卡

5.JVM简单了解

5.1JVM的内存结构

压力测试-商场项目,压力测试

5.2JVM中对象的存储和GC 

压力测试-商场项目,压力测试

压力测试-商场项目,压力测试

6.jconsole和jvisualvm 

jconsole和jvisualvm是JDK自带监控工具。可以帮助我们更好的查看服务的相关监控信息,jvisualvm功能会更加的强大些。

6.1jconsole

压力测试-商场项目,压力测试

6.2jvisualvm

因为是jdk6.0后自带的,我们同样的可以在cmd或者搜索框中找到

 压力测试-商场项目,压力测试

7.商场系统的压测 

商场系统的链路

压力测试-商场项目,压力测试

测试下相关的组件的性能

7.1单独测试nginx

压力测试-商场项目,压力测试

7.2单独测试gateway

 7.3单独测试商品服务

压力测试-商场项目,压力测试

  7.4Nginx+Gateway+服务

压力测试-商场项目,压力测试 

压测内容 压力测试的线程数 吞吐量/s 90%响应时间 99%响应时间
Nginx 50 2289 29 327
Gateway 50 4000 6 59
单独测试服务 50 32732 2 9
Gateway+服务 50 5065 16 66
Nginx+Gateway 50
Nginx+Gateway+服务 50 1245 76 118
一级菜单 50 279 264 384
三级分类压测 50 5.4 12050 12708
首页全量数据 50 GG

8.Nginx实现动静分离优化系统

通过上面的压力测试我们可以发现如果后端服务及处理动态请求又处理静态请求那么他的吞吐量是非常有限的,这时我们可以把静态资源存储在Nginx中。

压力测试-商场项目,压力测试

 8.1 静态资源存储

把服务中的静态资源上传到Nginx服务中,把静态资源文件打成一个zip包,然后拖拽到Linux中,然后我们通过

8.1.1将静态文件放到这个目录

压力测试-商场项目,压力测试

 8.1.2修改nginx配置文件

在Nginx的配置文件中指定static开头的请求的处理方式

压力测试-商场项目,压力测试

 文章来源地址https://www.toymoban.com/news/detail-614893.html

到了这里,关于压力测试-商场项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 压力测试:使用 JMeter 进行压力测试

    创建新目录 jmeter_demo 在该目录下打开命令行输入: shell 复制代码 go mod init jmeter_demo go mod tidy 随后创建各目录与文件如下: shell 复制代码 -- jmeter_demo -- main main 函数目录(启动http和grpc服务) -- main.go -- proto grpc server 的目录 -- chat.go -- chat.pb.gp -- chat.proto -- test_plan jmeter 测试计划 --

    2024年04月16日
    浏览(31)
  • AIDA64压力测试教程,AIDA64压力测试多长时间,AIDA64压力测试结果怎么看

            硬件管理工具AIDA64功能全面专业,操作简便易学,使用AIDA64进行系统稳定性测试逐渐成为更多用户的选择。可能有很多用户对如何使用AIDA64进行系统稳定性测试不太了解,系统稳定性测试也称为压力测试,或者更通俗的烤机测试,简单叙述下AIDA64压力测试教程,

    2024年02月11日
    浏览(32)
  • 什么是压力测试?如何进行Jmeter压力测试

    软件测试中:压力测试(Stress Test),也称为强度测试、负载测试。压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。 常用的压力测试软件有:LoadRunner、Apache JMeter、NeoLoad、

    2024年02月11日
    浏览(46)
  • 什么是软件压力测试?软件压力测试工具和流程有哪些?

    软件压力测试 一、含义: 软件压力测试是一种测试应用程序性能的方法,通过模拟大量用户并发访问,测试应用程序在压力情况下的表现和响应能力。软件压力测试的目的是发现系统潜在的问题,如内存泄漏、线程锁、资源泄漏等,以及在高峰期或高负载情况下系统的响应

    2024年02月11日
    浏览(45)
  • Java接口压力测试—如何应对并优化Java接口的压力测试

    在如今的互联网时代,Java接口压力测试是评估系统性能和可靠性的关键一环。一旦接口不能承受高并发量,用户体验将受到严重影响,甚至可能导致系统崩溃。因此,了解如何进行有效的Java接口压力测试以及如何优化接口性能至关重要。 Java接口压力测试是通过模拟大量并发

    2024年02月12日
    浏览(30)
  • 性能测试----负载测试、压力测试、并发测试

    性能测试:检测一个软件的性能。 性能测试的指标: 响应时间:用户从请求到服务器响应的时间 吞吐量:单位时间内成功地传送数据的数量 并发数:在线并且在操作的用户数 负载测试:加负载,找到让系统崩溃的边界点。 压力测试:高负载的情况下跑,看系统稳定性。

    2024年02月15日
    浏览(33)
  • 接口测试,负载测试,并发测试,压力测试区别

    接口测试 1.定义:接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。 2.目的: 更早的发现问题 缩短产品周

    2024年02月12日
    浏览(27)
  • 【测试】依赖注入、表格测试与压力测试

    几个在Go中进行代码测试的核心技术:单元测试、压力测试与基准测试。它们共同保证了代码的准确性、可靠性与高效性。 单元测试又叫做模块测试,它会对程序模块(软件设计的最小单位)进行正确性检验,通常,单元测试是对一个函数封装起来的最小功能进行测试。 在

    2024年02月13日
    浏览(17)
  • 性能测试之压力测试

    压力测试考察当前软硬件条件下系统所能承受的最大负荷并找到系统瓶颈所在。压测是为了系统在线上的处理能力和稳定性维持在一个范围内。 压力测试可以帮助我们找到寻常测试难以找到的: 内存泄漏、并发与同步 。 响应时间: 用户发送请求,到客户端接收服务器端的

    2024年02月08日
    浏览(35)
  • 【性能测试入门】:压力测试概念!

    压力测试可以验证软件应用程序的稳定性和可靠性。压力测试的目标是评估软件在极端负载条件下的鲁棒性和错误处理能力,并确保软件在紧急情况下不会崩溃。它甚至可以进行超出软件正常工作条件的测试,并评估软件在极端条件下的工作方式。 在软件工程中,压力测试也

    2024年02月02日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包