ab压测与siege压测

本文的核心内容:ab压测与Siege压测工具的使用。


 

为了测试接口的性能、我们需要对接口进行压力测试,看看接口能承受多大访问量、在大访问量情况下性能怎样,这些数据指标好坏将会直接影响接口调用方的前端展示效果。

 

Web压力测试指标

      1.TPStransaction per second

  每秒钟完成的web请求响应数量

  TPS=并发数/响应时间

  TPS是衡量系统性能的重要指标

  2.并发数

  并发用户数是指系统可以同时承载的正常使用系统功能的用户的数量。

  3.响应时间

  响应时间是指系统对请求作出响应的时间。

  4.吞吐量

  吞吐量指的是单位时间系统传输数据总量。

  可知吞吐量和TPS,并发数这两个因素是正比关系。

  但是当TPS,并发数达到极限值时,吞吐量不升反降,这是因为系统资源产生了大的消耗。

 

ab 测试

   ab是apachebench命令的缩写。

   ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、tomcat等其它Web服务器的压力。

### 试命令工具示例 试是评估系统性能和稳定性的关键手段之一。以下是几种常见的试工具及其使用方法。 #### 1. Stress 工具 Stress 是一款轻量级且高效的 Linux 系统试工具,专门用于对 CPU、内存、磁盘 I/O 和文件系统等资源施加力[^1]。以下是一个基础安装和使用的示例: - **安装 Stress**: ```bash sudo apt-get install stress ``` - **CPU 试**:模拟 4 个 CPU 核心满载运行 60 秒。 ```bash stress --cpu 4 --timeout 60s ``` - **内存试**:分配 1GB 的内存并保持 30 秒。 ```bash stress --vm 1 --vm-bytes 1G --timeout 30s ``` - **磁盘 I/O 试**:创建 2 个进程,每个进程写入 1GB 的数据到磁盘。 ```bash stress --io 2 --io-bytes 1G --timeout 60s ``` #### 2. Siege 工具 Siege 是一种强大的 HTTP/HTTPS 试工具,可以模拟大量并发用户访问网站或 API[^2]。以下是几个常见用法: - **基本试**:模拟 200 个并发用户,重复请求 100 次。 ```bash siege -c 200 -r 100 http://example.com ``` - **从文件中读取 URL**:通过 `urls.txt` 文件中的多个 URL 进行试。 ```bash siege -c 200 -r 100 -f urls.txt ``` - **随机选取 URL**:在 `urls.txt` 中随机选择 URL 进行试。 ```bash siege -c 200 -r 100 -f urls.txt -i ``` - **无延迟模式**:更准确地进行试,而不是功能试。 ```bash siege -c 200 -r 100 -f urls.txt -i -b ``` - **指定 HTTP 请求头**:例如设置 `Content-Type` 为 `application/json`。 ```bash siege -H "Content-Type:application/json" -c 200 -r 100 -f urls.txt -i -b ``` #### 3. Apache Benchmark (ab) Apache Benchmark 是 Apache 提供的简单试工具,适合试单一 URL 的性能[^3]。 - **基本用法**:模拟 100 个并发用户,发送 1000 次请求。 ```bash ab -n 1000 -c 100 http://vm1.jianfeng.com/ ``` - **指定 POST 数据**:向服务器发送 POST 请求。 ```bash ab -n 1000 -c 100 -p post_data.txt -T "application/json" http://vm1.jianfeng.com/api ``` #### 4. JMeter JMeter 是一个功能全面的试工具,支持多种协议(如 HTTP、FTP、JDBC 等),并且可以通过图形界面或命令行运行[^4]。 - **命令行运行 JMeter**:执行一个预定义的试计划文件。 ```bash jmeter -n -t test_plan.jmx -l results.jtl ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值