如何进行压力测试(压测)...

前言:这里对压测进行一些简介,本篇文章介绍项目压测场景,使用jmeter进行压测。

 

目录

压测相关的一些指标:

安装Jmeter:

 项目压测:

创建线程

 配置元件

添加HTTP请求

添加监听器

执行测试


压测相关的一些指标:

      1. 响应时间:指系统从接收到请求到返回响应的时间间隔。它包括服务器处理时间、网络传输时间和客户端等待时间。响应时间是评估系统性能的重要指标之一。

        2. 吞吐量:表示单位时间内系统处理的请求数量。通常以每秒处理的请求数(requests per second,RPS)或每分钟处理的事务数(transactions per minute, TPM)来衡量。吞吐量反映了系统处理请求的能力。
        3. 并发用户数:指同时向系统发送请求的用户数量。它反映了系统同时处理多个用户请求的能力。
        4. 资源利用率:包括 CPU 利用率、内存使用率、磁盘 I/O 等。资源利用率指标可以帮助评估系统在压力下的资源消耗情况,以及是否存在性能瓶颈。
        5. 错误率:指在压力测试过程中出现错误或失败的请求比例。它可以是请求失败的数量与总请求数量的比值。错误率用于评估系统在高负载下的稳定性和可靠性。
        6. 性能拐点:指系统性能开始明显下降的负载水平。找到性能拐点可以帮助确定系统的最大承载能力。
        7. 恢复时间:指系统从压力测试结束后恢复到正常状态所需的时间。它反映了系统在高负载下的稳定性和弹性。
        这些指标可以通过性能测试工具或监控系统来收集和分析。在进行压力测试时,需要根据具体的业务需求和系统特点,选择合适的指标进行评估,并结合实际情况进行分析和优化。

安装Jmeter:

  •  Jmeter官网:https://jmeter.apache.org
  •  解压之后,进入bin目录下,使用jemter.bat启动程序
  • 注意:因为JMeter是使用JAVA写的,所以使用JMeter之前,先安装java环境,这个自行搜索安装
  • 改为中文显示:Options->Choose Language改为简体中文

 项目压测:

        项目压测包含了web程序+数据库+缓存+其它等指标,体现出了项目的整体的性能,比较有参考意义,如果程序性能比较低,可对其它指标进行压测来查找原因(性能瓶颈一般出现在数据库)

  • 创建线程

        在Test Plan 右击添加 选择 线程(用户) 添加线程组

        设置线程数和循环次数,我这里设置线程数为1000,循环次数为10次    

 

  •  配置元件

          右击线程组 添加 配置元件 添加HTTP请求默认值

         ​​​​然后配置 web服务器下的 协议 IP 以及端口号 、路径和内容编码

  • 添加HTTP请求

     

        设置路径和数据

        因为这里的请求内容使用的是json字符串,所以需要在头部进行声明,否则请求就要报错。所以需要给HTTP请求添加一信息头(通过鼠标右键->添加->配置元件->HTTP信息头管理器 完成)

        配置HTTP头信息,添加对应名称和值,这里添加“Content-Type”,值为“application/json;charset=utf-8”;如果头还需要添加其它信息,如id、token等,也应如此进行配置

  • 添加监听器

        右键线程组 打开监听器 添加查看结果树

  • 执行测试

        下图的绿色按钮为开始执行,如果要重新执行需清除上一次结果 

查看结果树 代表测试成功

对于Node.js的压力测试,可以使用siege.js这个测试工具。siege.js是一个面向程序员友好的测试工具,特别适合在开发完一个页面后快速进行压力测试。你可以通过npm安装siege.js,然后使用它的API编写压测脚本。以下是一个简单的使用siege.js进行压力测试的示例: 1. 首先,安装siege.js: `$ npm install siege` 2. 编写压测脚本: `$ vim benchmark.js` 在benchmark.js中,导入siege模块并使用siege函数指定要测试的服务启动脚本。可以使用.wait()方法设置延迟时间,.on()方法指定要压测的服务端口,.concurrent()方法设置并发数,.for()方法设置压测次数或时间,.get()方法指定要压测的页面,最后使用.attack()方法执行压测。 3. 执行压测: `$ node benchmark.js` 运行benchmark.js文件,开始执行压力测试。 在这个例子中,siege.js通过设定的并发数和压测次数向指定的页面发送请求,然后给出了压力测试的结果,包括请求成功率、每秒请求数、响应时间等信息。 总结来说,使用siege.js可以方便地进行Node.js的压力测试,它提供了简单易懂的API和丰富的结果输出,适合不太熟悉Linux的程序员使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [nodejs程序员如何安全有效的进行压力测试](https://blog.csdn.net/lshemail/article/details/79298357)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值