postman并发测试_Postman 和 Jmeter 的并发测试 Nginx 配置

本文介绍了使用Nginx为Spring Gateway做负载均衡并设置并发及连接数限制的配置,通过Postman和Jmeter进行并发测试。结果显示,尽管Postman在Delay为0的情况下实际执行为串行,而Jmeter则能准确模拟并发,得出预期的测试结果,证明Jmeter在并发测试中更为可靠。
摘要由CSDN通过智能技术生成

用 Spring Boot 搭建完 Spring Cloud 微服务项目后,又用 Nginx 为 Spring Gateway 做了负载均衡,其中做了并发限制和每秒连接数限制,Nginx 的配置如下:

worker_processes 1;

events {

worker_connections 1024;

}

http {

include mime.types;

default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;

gzip on;

# 开启令牌桶 - 每秒新增 100 个令牌

limit_req_zone $binary_remote_addr zone=req_one:10m rate=100r/s;

# 开启每个 IP 的并发设置

limit_conn_zone $binary_remote_addr zone=perip:10m;

# 开启服务器的总并发设置

limit_conn_zone $server_name zone=perserver:10m;

# 定义当服务器由于被限制或缓存时,配置写入日志

limit_conn_log_level error;

## 配置 Spring Cloud Gateway 测试

# 负载均衡

upstream renda {

server 127.0.0.1:9000;

server 127.0.0.1:9001;

}

server {

listen 80;

server_name www.springcloudgateway.com;

# 限制每个 IP 的并发数

limit_conn perip 10;

# 限制并发连接数

limit_conn perserver 200;

# 限制总令牌数,令牌发完后,多出来的请求就会返回 503

limit_req zone=req_one burst=500 nodelay;

location / {

proxy_pass http://renda;

index index.html index.htm;

}

}

}

然后,我使用 Postman 的压力测试 Collection Runner 对配置进行并发测试,选择了 Delay 为 0,Iterations 为 20,对 www.springcloudgateway.com 发起 GET 请求。

然而,Postman 竟然全部测试用例通过了,但是我明明在 Nginx 中限制了每个 IP 的并发数 最多为 10 呀。怎么会与预测不符合呢?

接着,我调大了 Postman 的 Iterations 为 1000,这时候我发现,它是串行执行的;Postman 的 Delay 为 0 不能保证所有请求真的可以同时发起。

于是,我换了测试工具,使用 Jmeter 进行压力测试。

打开 Jmeter,先创建一个 Thread Group,然后创建一个 HTTP Request 和 View Results Tree;在 Thread Group 中设置 Number of Threads 为 20,Ramp-up period 设置为 0;同样地,对 www.springcloudgateway.com 发起 GET 请求。

这时候,一共 10 个测试用例通过了,10 个没有通过,而且测试用例发起得时间都一样,精确到毫秒,符合预测结果。

之后再使用 Jmeter 进行每秒连接数测试,发现也符合预测。

由此可见,Jmeter 虽然配置比较多,但是比 Postman 要可靠一些。想了解更多,欢迎关注我的微信公众号:Renda_Zhang

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值