JMeter是Apache组织开发的基于Java的开源的压力测试工具、接口测试工具
可以模拟高并发和多次循环的测试场景,能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试,具有可移植性
性能测试的核心三原则: 基于协议,多线程,场景模拟
JMeter压测的核心原理
基于各种协议,通过多线程的方式来模拟并发用户,设计各种场景来模拟真实的用户负载
所谓压力,其实就是单位时间内向服务器发起的请求数
jmeter在设计压力模式的时候,引入了两层概念:
一个人在单位时间内,可能发起一次请求,也可能发起多次,那么JMeter就通过线程*迭代,来模拟单位时间内用户多次发起请求的场景
把单位时间内线程*迭代的次数称之为压力
操作系统有多个进程,进程有多个线程。多进程、多线程,正好可以用来模拟多个用户,对系统造成多个并发。JMeter、LoadRunner等压测工具的原理就是基于原理
LoadRunner
LoadRunner既支持多进程模拟,也支持多线程模拟
JMeter
JMeter由Java实现,运行在JVM虚拟机上,每个进程的开销比loadrunner的进程开销大,如果以进程的方式来运行每台负载机上的进程数量不会允许太多,当有大量并发时就需要大量的负载机,JMeter选择了以线程方式来运行
JMeter运行在java虚拟机上的,基本原理是建立一个线程池,通过线程组驱动多线程,多线程运行sampler产生负载,在运行过程中通过断言来验证结果的正确性,可以通过添加监听器(聚合报告、图形结果和查看结果树等)来记录测试结果
JMeter运行场景不仅可以再gui方式中完成,还可以运行命令行,而且命令行的运行方式对于负载机的资源消耗会更小
线程创建过多会占用大量系统资源,一般单台机器性能稍微好点的跑500的并发,内存就比较吃紧
压力测试时,压力机本身并不应该成为性能瓶颈,否则压测就没有意义,所以实际测试成百上千的并发时,单台机器显然不够,需要考虑用负载机群,即用多台负载机分布来模拟并发,如图所示
管理远程负载机,控制远程负载机脚本运行,收集远程负载机测试结果。控制机本身也是个负载机
向被测应用系统发起负载
远程负载机首先要启动客户端(Agent: bin 目录下 jmeter-server.bat),才能被控制机接管
如果远程负载机脚本需要参数或依赖jar包,需要使用自动化工具从控制机发送到远程负载机
远程方法调用(Remote Method Invocation ,RMI)
使用户能访问在另一主机上的Java对象,并远程调用其方法
程序的对象是客户,而远程对象是服务器。远程对象也可以是另一个远程服务对象的客户
通过使用持续性(串行化和解串行化),本地对象和原始类型值可以作为参数传递给远程对象。这种方式允许Java程序可以利用分布式计算将工作量分散到多个Java虚拟机上
JMeter 安装包是绿色版,解压即用,解压后的目录
文章浏览阅读3.6k次,点赞3次,收藏15次。第三章:加速dns解析目标:了解一个请求是如何发送到一个dns资源池中的,并且了解如何监控资源池中成员的健康状态使用dns缓存对dns请求进行加速使用dns express进行对dns请求进行加速智能解析dns请求加速解析(dns express,dns cache,load balance dns queries)配置监听器3.1、Big-IP DNS解析过程wide ipdns expressdns cachedns resolving cache_dns express
文章浏览阅读3.1k次,点赞6次,收藏61次。内核是嵌入式Linux 系统的核心,负责管理系统的进程、内存、文件系统、网络和设备驱动等。如果把地球比作计算机系统,内核就是管理计算机资源的“政府”,内核中的每个功能模块相当于政府中的每个部门,如下图所示。从功能角度来看:系统调度进程管理负责管理CPU资源,以便让各个进程可以以尽量公平的方式访问CPU。进程管理还包括控制活动进程。内存管理Linux的成功和它优秀的内存管理联系非常密切,因为一个系统的高效性欲稳定性往往决定于它的内存管理机制。为了解决容量,Linux 引入了虚拟存储系统;_嵌入式linux引导程序操作模式是什么
文章浏览阅读1.4k次。在目前的开发中,JSON是一种非常重要的数据格式,它并不是编程语言,而是一种可以在服务器和客户端之间传输的数据格式。JSON的全称是JavaScript Object Notation(JavaScript对象符号):JSON是由Douglas Crockford构想和设计的一种轻量级资料交换格式,算是JavaScript的一个子集;但是虽然JSON被提出来的时候是主要应用JavaScript中,但是目前已经独立于编程语言,可以在各个编程语言中使用;很多编程语言都实现了将JSON转成对应模型的.
文章浏览阅读2.3k次。RK3588是Rockchip最新推出的八核64位处理器(4核A76+4核A55),主频2.4GHz,集成GPU,内部集成6TOPS AI算力的NPU,多媒体方面支持到了8K视频编解码,_3588 开发板 wiki
文章浏览阅读687次。https://blog.csdn.net/linxinfa/article/details/94392971有时候需要让美术做一些刚体位移动画, 那么美术在Unity中就要Project视图->Creat->Animation.但是这样创建出来的动画是新版动画,这样播放的话要需要AnimationController文件。 我就想用老版动画怎么办呢?如下图所示,选中刚刚创建的动画,然后在右边打开Debug模式,勾选legacy即可。如果是美术做的FBX动画,那么在这.._状态机用animation还是animator
文章浏览阅读809次,点赞2次,收藏2次。package Kaoshi;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apache.hadoop.hbase.HCol..._importjava.io.loexception; importorg.apache.hadoop.conf.configuration; i
文章浏览阅读1.5k次。「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道。风里雨里,我们将每天为朋友们,播报最新鲜有料的新闻资讯,让所有技术人,时..._印度小米厂网易新闻
文章浏览阅读179次。编译模块Android中的一个应用程序可以单独编译,编译后需要重新生成system.img。在Android目录下运行$ . build/envsetup.sh 或者$ source build/envsetup.sh ,然后就会多出几个可用的命令:- croot: Changes directory to the top of the tree.- m: Makes..._编译单个应用命令
文章浏览阅读2.4w次,点赞20次,收藏171次。本文基于Linux上CentOS 7版本和Windows 11专业版本配合Xshell 7演示三种传输方式怎么实现将Windows上的文件传到Linux、将Linux上的文件传输到Windows、不同的Linux设备之间文件传输使用rz和sz命令使用Xftp软件进行传输使用Sftp服务进行传输使用scp (-r)命令_怎么把windows中的文件拖入linux中
文章浏览阅读2.5k次。1.ext2介绍:第二代扩展文件系统是LINUX内核所用的文件系统,用以代替ext,是 EXT文件系统的升级版,特点:在ext2文件系统中,文件由inode(包含有文件的所有信息)进行唯一标识。一个文件可能对应多个文件名,只有在所有文件名都被删除后,该文件才会被删除。此外,同一文件在磁盘中存放和被打开时所对应的inode是不同的,并由内核负责同步。2.ext3介绍:EX..._ext4、ext3、ext2、xfs
文章浏览阅读8.8k次,点赞5次,收藏26次。matlab:字符向量、字符数组、字符串标量、字符串数组_matlab 字符串数组
文章浏览阅读2.7k次。文章目录一、安装qemu二、安装arm工具链三、下载编译内核四、制作根文件系统五、qemu 运行1、直接启动kernel2、通过uboot启动内核2.1 配置QEMU Tap网络2.2 安装配置tftp2.3 编译uImage2.4 编写启动脚本boot.sh3. 挂载 NFS 文件系统六、qemu 模拟机连接外网七、其他1、制作多分区镜像2、运行qemu一、安装qemu1、下载编译安装# wget https://download.qemu.org/qemu-4.2.0.tar.xz# tar x_qemu-system-arm