热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

如何使用jmeter实现相对并发和绝对并发

相对并发与绝对并发的概念相对并发:指在一个时间段内发生的事情绝对并发:指在同一时刻发生的事情 相对并发在jmeter的测试计划中添加线程组,设置线程属性,2秒之内启动10个线程,其
  • 相对并发与绝对并发的概念

相对并发:指在一个时间段内发生的事情

绝对并发:指在同一时刻发生的事情

 

  • 相对并发

在jmeter的测试计划中添加线程组,设置线程属性,2秒之内启动10个线程,其对应的相对并发为5(线程数/启动时间),在没有添加其他逻辑控制器或定时器的情况下,线程属性中设置循环次数为3次,则sampler总共执行30次(线程数*循环次数)

《如何使用jmeter实现相对并发和绝对并发》

使用表格察看运行结果:每个线程都会运行3次 

《如何使用jmeter实现相对并发和绝对并发》

 

  • 绝对并发

jmeter又如何实现绝对并发的呢?一般采用同步定时器(Synchronizing Timer)实现绝对并发,也就是同一个时刻达到了某一集合点才发出请求。

举个例子:将一筐的鸡蛋共188个,全部分发在容量为10的蛋托上,当蛋托上凑上10个便可以打包售卖。这里的188个鸡蛋就相对于jmeter中的线程数(用户数),容量10就是集合点数,即绝对并发数,剩下的8个鸡蛋无法构成集合点数,可设置超时时间不再等待聚积成10个。

注意:使用同步定时器做性能测试时,聚合报告中的响应时间一般会大于接口真实的响应时间,可以通过其他的监控工具查看接口真实的响应时间

 

将Synchronizing Timer放在对应的sampler下,

Number of Simultaneous Users to Group by:集合点数,集合到对应的用户量才发送请求,要求设置的值不能大于线程数

Timeout in milliseconds:等待超时时间,在指定的毫秒时间内没达到集合点数将停止等待(并非终止运行),

默认值为0表示无超时时间,一般超时时间> 请求集合数量 * 1000 / (线程数 / 启动时间)

 

  1. 设置集合点数:2,超时时间>2*1000/(10/2)=400ms《如何使用jmeter实现相对并发和绝对并发》

 

运行

《如何使用jmeter实现相对并发和绝对并发》

2.设置集合点数:7,超时时间:0

《如何使用jmeter实现相对并发和绝对并发》

运行结果:剩下4个请求,无法构成7个集合数,导致一直等待。点击stop剩下4个请求运行后结束执行 

《如何使用jmeter实现相对并发和绝对并发》

3.设置集合点数:7,超时时间:1500 

《如何使用jmeter实现相对并发和绝对并发》

运行:剩下2个请求,无法构成7个集合数,通过日志可以看到等待时间超过了1500ms,执行这两个请求后将终止运行 

 

4.设置集合点数:20>10(线程数),超时时间0,将无法发送请求。点击stop会将30次请求全部执行,并不能按20个绝对并发执行

《如何使用jmeter实现相对并发和绝对并发》


推荐阅读
  • Nginx不仅是一款轻量级的高性能Web服务器,还具备出色的负载均衡和反向代理功能。它支持复杂的正则匹配规则、动静内容分离以及灵活的URL重写功能,使得配置和管理更加便捷高效。此外,Nginx提供了多种负载均衡算法,如轮询、加权轮询、最少连接数等,以满足不同应用场景的需求。 ... [详细]
  • 本文详细探讨了MySQL并发参数的优化与调整方法,旨在帮助读者深入了解如何通过合理配置这些参数来提升数据库性能。文章不仅介绍了常见的并发参数及其作用,还提供了实际操作中的调整策略和最佳实践,适合希望提高数据库管理技能的技术人员阅读。 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 美团优选推荐系统架构师 L7/L8:算法与工程深度融合 ... [详细]
  • 在深入研究 React 项目的过程中,特别是在探索 react-router 源码时,我发现了其中蕴含的中间件概念。这激发了我对中间件的进一步思考与整理。本文将详细探讨 Redux 中间件的原理及其在实际项目中的应用,帮助读者更好地理解和使用这一强大工具。通过具体示例和代码解析,我们将揭示中间件如何提升应用的状态管理和异步操作处理能力。 ... [详细]
  • 为了评估精心优化的模型与策略在实际环境中的表现,Google对其实验框架进行了全面升级,旨在实现更高效、更精准和更快速的在线测试。新的框架支持更多的实验场景,提供更好的数据洞察,并显著缩短了实验周期,从而加速产品迭代和优化过程。 ... [详细]
  • TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得
    TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得 ... [详细]
  • 在过去,我曾使用过自建MySQL服务器中的MyISAM和InnoDB存储引擎(也曾尝试过Memory引擎)。今年初,我开始转向阿里云的关系型数据库服务,并深入研究了其高效的压缩存储引擎TokuDB。TokuDB在数据压缩和处理大规模数据集方面表现出色,显著提升了存储效率和查询性能。通过实际应用,我发现TokuDB不仅能够有效减少存储成本,还能显著提高数据处理速度,特别适用于高并发和大数据量的场景。 ... [详细]
  • 本文深入探讨了 MySQL 中 `ANALYZE TABLE` 和 `SHOW CREATE TABLE` 的语法规则及其应用。`ANALYZE TABLE` 语句用于分析并存储表的关键字分布情况,以优化查询性能。该操作在执行过程中会获取表的读锁,确保数据的一致性。而 `SHOW CREATE TABLE` 则用于显示创建表时的详细语句,包括表结构、索引和存储引擎等信息,有助于数据库管理和维护。通过这些命令,DBA 可以更好地理解和优化数据库性能。 ... [详细]
  • 深入解析微信小程序开发中的全局配置文件设置与优化技巧
    本文深入探讨了微信小程序开发中全局配置文件的设置与优化技巧,详细解析了 `app.js`、`app.json`、`app.wxss` 和 `project.config.json` 的功能与最佳实践。通过合理配置这些文件,开发者可以显著提升小程序的性能和用户体验。文章还介绍了如何利用这些配置文件进行模块化开发和调试,帮助开发者更好地管理和维护小程序项目。 ... [详细]
  • 揭秘腾讯云CynosDB计算层设计优化背后的不为人知的故事与技术细节
    揭秘腾讯云CynosDB计算层设计优化背后的不为人知的故事与技术细节 ... [详细]
  • 如何在ES6中实现Promise的完整流程
    在ES6中,Promise是一种用于处理异步操作的数据结构,它代表了一个现在、将来或永远可能可用的结果。本文将详细介绍如何在ES6中实现Promise的完整流程,包括创建、链式调用、错误处理等关键步骤,帮助开发者更好地理解和应用这一重要的异步编程工具。 ... [详细]
  • 深入解析Spring Boot启动过程中Netty异步架构的工作原理与应用
    深入解析Spring Boot启动过程中Netty异步架构的工作原理与应用 ... [详细]
  • 字节跳动深圳研发中心安全业务团队正在火热招募人才! ... [详细]
  • 【并发编程】全面解析 Java 内存模型,一篇文章带你彻底掌握
    本文深入解析了 Java 内存模型(JMM),从基础概念到高级特性进行全面讲解,帮助读者彻底掌握 JMM 的核心原理和应用技巧。通过详细分析内存可见性、原子性和有序性等问题,结合实际代码示例,使开发者能够更好地理解和优化多线程并发程序。 ... [详细]
author-avatar
施小露107
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有