测试用例】如何做高并发测试?

2021-12-27 15:53发布

4条回答
Danke - 四有青年
2楼 · 2021-12-28 11:05

1、不同省份、不同运营商CDN节点性能

此部分可以采用典型压力测试的方案。

2、核心机房BGP网络带宽

此部分重点在于测试各运营商BGP网络可靠性、实际速率等,一般采用smokeping、IxChariot等工具。


3、各类硬件设备性能

此部分一般采用专业的网络设备测试工具。

4、各类服务器(Web服务器、应用服务器、缓存服务器等)并发性能、分布式处理能力

此部分可以采用压力测试方案及工具。

6、业务系统性能

此部分可以采用业务系统压力测试方案。

7、数据库处理性能

大部分互联网公司都对数据库作了定制改造以满足业务需要,此部分测试需要结合业务系统进行测试,以获取核心业务场景下数据库的TPS/QPS,尤其是测试定制改造的地方。

8、支付渠道接口及分流测试

此部分相对而言可能是最大的瓶颈所在,也是互联网公司们无法完全掌控的地方,只能协调银行总部改造支撑。

另外还涉及备份方案、容灾方案、业务降级方案的测试。


猫的想法不敢猜
3楼 · 2021-12-29 13:54

 a. 需要搭建jmeter分布式测试环境,搭建步骤非常简单,可参考官网:

http://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html

 b. 在实际使用过程中,使用windows作为master,用linux做slave是完全可以的,只要保证 jdk版本一致,jmeter版本一致。

 c. 服务器资源监控,Jmeter里带如下插件,可百度此插件的安装方法,然后在脚本里添加插件的监控,再进行简单的配置

只要将ServerAgent服务安装在需要监控的机器上(windows,linux都可以),启动服务(ServerAgent-2.2.3/startAgent.sh)后,在jmeter端进行如下配置

线程组->添加->监听器->jp@gc – PerfMon Metrics Collector使用

 

 

配置好后,就可以在jmeter运行过程中,收集应用服务器资源。

 ServerAgent使用参考:

https://github.com/undera/perfmon-agent

 jp@gc – PerfMon Metrics Collector插件安装方法:

https://www.cnblogs.com/saryli/p/6596647.html

 注意: 此插件只在单机版运行时起效, 在分布式多台测试机运行时,不工作。 所以在分布式执行测试脚本时,单独启一个jmeter,永久循环进行监控

执行脚本。

根据使用经验,jmeter测试机器,硬件: 4核8G内存 跑5000个并发都没有问题,这里说的是业务不复杂的情况下,针对单接口测试,1台测试机 在500秒内让5000个用户陆续登陆,设置集合点5000,一起并发抢票接口。

jmeter启动参数设置:

1
2
3
4
5
6
set HEAP=-Xms4096m -Xmx4096m
set NEW=-XX:NewSize=128m -XX:MaxNewSize=512m
set SURVIVOR=-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50%
set TENURING=-XX:MaxTenuringThreshold=2
set PERM=-XX:PermSize=1024m -XX:MaxPermSize=1024m -XX:+CMSClassUnloadingEnabled
set DUMP=-XX:+HeapDumpOnOutOfMemoryError


1.

打开jmeter。 0性能测试工具jmeter系列1--安装

2.

右键添加一个线程组。

3.

设置并发线程数,循环次数。

4.

右键线程组,添加一个逻辑控制器:事务控制器。 21jmeter-几个有用的控制器


IT学习助手 - qq:2676427015
5楼 · 2022-01-14 09:28

 1、什么是并发测试呢?

  并发性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标和资源监控指标来确定系统并发性能的过程。负载测试(Load Testing)是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等来决定系统的性能。负载测试是一个分析软件应用程序和支撑架构、模拟真实环境的使用,从而来确定能够接收的性能过程。压力测试(Stress Testing)是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。

2、并发性测试的目的是什么呢?

  并发性能测试的目的主要体现在三个方面:以真实的业务为依据,选择有代表性的、关键的业务操作设计测试案例,以评价系统的当前性能;当扩展应用程序的功能或者新的应用程序将要被部署时,负载测试会帮助确定系统是否还能够处理期望的用户负载,以预测系统的未来性能;通过模拟成百上千个用户,重复执行和运行测试,可以确认性能瓶颈并优化和调整应用,目的在于寻找到瓶颈问题。

  当一家企业自己组织力量或委托软件公司代为开发一套应用系统的时候,尤其是以后在生产环境中实际使用起来,用户往往会产生疑问,这套系统能不能承受大量的并发用户同时访问? 这类问题最常见于采用联机事务处理(OLTP)方式数据库应用、 Web 浏览和视频点播等系统。这种问题的解决要借助于科学的软件测试手段和先进的测试工具。

3、如何做并发测试?

  在开展具体的测试工作前,首先要做的就是配置测试环境,这个环节相当重要,如果不合适会严重影响测试结果的真实性和正确性。

  测试环境包括硬件环境和软件环境,硬件环境指测试必需的服务器、客户端、网络连接设备以及打印机/扫描仪等辅助硬件设备所构成的环境;软件环境指被测软件运行时的操作系统、数据库及其他应用软件构成的环境。

  一个充分准备好的测试环境有三个优点:一个稳定、可重复的测试环境,能够保证测试结果的正确;保证达到测试执行的技术需求;保证得到正确的、可重复的以及易理解的测试结果。


  


相关问题推荐

  • 回答 3

    做梯度压力测试,当你发现响应时间下降超过10%的那个压力点,基本上就是性能瓶颈点了。当然还可以直接压崩。然后给一个极值。但是通常这个值 没用。

  • 回答 2

    主要从架构上登录过程的实现,能否支持同一账号多处登录,是架构考量的,一般的系统除非对session做持久化和帐号绑定。否则肯定同一账号多个会话是支持的。更多详细还要看你的架构实现。不过一点可以确认从数据库和中间件缓存来看,命中一定会比不同数据要高...

  • 回答 2

    并发数是压测时的线程数

  • 回答 8

     基本功能测试:  功能: 输入正确的网址,进行转码,检查内容是否正确;  边界: 输入信息量非常大的网址 输入没有信息的网址;  负值: 输入错误的网址,进行转码,系统是否有相应的提示; 输入的 web 的 page 为空,是否抛出异常。 兼容测试:...

  • 回答 9

     1.测试用户名与密码不对应能否登录   2.测试输入错误密码并单击登录后是否弹出错误提示   3.测试三次输入错误密码后能否正确弹出提示并退出   4.测试在登录界面单击取消是否能推出登录界面。  5.测试在未达到三次错误输入的情况下单击取消登录按钮再...

  • 回答 5

     基本功能测试:  功能: 输入正确的网址,进行转码,检查内容是否正确;  边界: 输入信息量非常大的网址 输入没有信息的网址;  负值: 输入错误的网址,进行转码,系统是否有相应的提示; 输入的 web 的 page 为空,是否抛出异常。 兼容测试:...

  • 回答 14

    软件测试是为了保证软件产品的最终质量,对产品进行质量控制按照测试技术分类:黑盒测试、白盒测试、灰盒测试按照是否需要运行代码划分:静态测试、动态测试按照软件特性分类:功能测试、性能测试、其他:反测、回归测试、随机测试、兼容测...

  • 回答 4

    测试用例的信息有很多,可以根据实际的情况进行增删,一般来说一个优秀的测试用例应该包含以下信息:1.产品相关信息软件产品或项目的名称软件产品或项目的版本功能模块名功能描述测试平台这些信息建议可以在测试案例手工选择。2.基本记录信息测试用例入库者测...

没有解决我的问题,去提问