`

nginx限流 以及ab测试验证

 
阅读更多

1,nginx的http配置 

proxy_intercept_errors on;

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

limit_conn_status 503;  #超出限制时,返回状态码

location 模块配置:

limit_req zone=mylimit nodelay;

http模块错误页面重定向

error_page  503              /408.html; 

2,ab测试验证

ab测试参数:

ab -n 800 -c 800  http://192.168.1.10/ 
(-n发出800个请求,-c模拟800并发,相当800人同时访问,后面是测试url)

ab -t 60 -c 100 http://192.168.1.10/ 
在60秒内发请求,一次100个请求。 
  
//如果需要在url中带参数,这样做 
ab -t 60 -c 100 -T "text/plain" -p p.txt http://192.168.0.10/hello.html 
p.txt 是和ab.exe在一个目录 
p.txt 中可以写参数,如  p=wdp&fq=78 

-----------------------------------------------------------------------------------------------

ab测试具体例子:

ab -t 1 -c 20 http://192.169.0.1/base

模拟1秒钟 20个请求

[root@web-01 sbin]# ab -t 1 -c 20 http://192.168.0.1/base

This is ApacheBench, Version 2.3 <$Revision: 655654 $>

Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

Licensed to The Apache Software Foundation, http://www.apache.org/

 

Benchmarking dev.cbs.bacic5i5j.com (be patient)

Completed 5000 requests

Finished 7457 requests

 

 

Server Software:        nginx/1.4.4

Server Hostname:        dev.cbs.bacic5i5j.com

Server Port:            80

 

Document Path:          /base

Document Length:        0 bytes  HTTP响应数据的正文长度

 

Concurrency Level:      20

Time taken for tests:   1.000 seconds  所有这些请求处理完成所花费的时间 

Complete requests:      7457  完成请求数 

Failed requests:        7447   --失败请求数   就是由于限流10r/s 每秒钟10个请求

   (Connect: 0, Receive: 0, Length: 7447, Exceptions: 0)

Write errors:           0

Non-2xx responses:      7474

Total transferred:      1233810914 bytes    ---网络总传输量 

HTML transferred:       1232331592 bytes   --HTML内容传输量 

Requests per second:    7455.60 [#/sec] (mean)   ---吞吐量-每秒请求数

Time per request:       2.683 [ms] (mean)   --服务器收到请求,响应页面要花费的时间 

Time per request:       0.134 [ms] (mean, across all concurrent requests)  --并发的每个请求平均消耗时间 

Transfer rate:          1204666.99 [Kbytes/sec] received   ---received 平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题

网络上消耗的时间的分解: 

Connection Times (ms)

              min  mean[+/-sd] median   max

Connect:        0    0   0.0      0       1

Processing:     1    2   0.2      2       5

Waiting:        0    0   0.1      0       2

Total:          1    3   0.3      3       6

 

整个场景中所有请求的响应情况。在场景中每个请求都有一个响应时间 
其中 50% 的用户响应时间小于 3毫秒 
80 % 的用户响应时间小于 3毫秒 
最大的响应时间小于 6 毫秒 
Percentage of the requests served within a certain time (ms) 

Percentage of the requests served within a certain time (ms)

  50%      3

  66%      3

  75%      3

  80%      3

  90%      3

  95%      3

  98%      4

  99%      4

 100%      6 (longest request)

欢迎关注我的微信公众号,里面会分享技术和投资的一些想法,欢迎交流讨论

 

 

 


 

 

  • 大小: 92.9 KB
分享到:
评论

相关推荐

    nginx限流.xmind

    nginx限流

    nginx限流配置.docx

    Nginx 限流配置 Nginx 限流配置是指通过 Nginx 服务器对用户的访问进行限制,以避免服务器受到攻击或过载。这种配置可以防止恶意用户对服务器的攻击,保护服务器的安全和性能。 限流配置 在 Nginx 配置文件中,...

    分布式限流面试专题系列:Nginx+zookeeper.zip

    10. **学习资源**:深入学习Nginx的官方文档、Zookeeper的用户指南以及分布式限流相关的开源项目,如Nginx的lua模块,可以帮助更好地掌握这一技术栈。 总的来说,Nginx与Zookeeper结合的分布式限流方案,是保障系统...

    Nginx:Nginx限流与防盗链设置.docx

    Nginx:Nginx限流与防盗链设置.docx

    web服务器如何限流-nginx,tomcat服务器如何限制流量

    压力测试工具如Apache的`ab`(ApacheBench)可用于评估限流策略的效果。例如,你可以运行以下命令模拟多个并发用户请求: ```bash ab -n 1000 -c 100 http://example.com/ ``` 这会发送1000个请求,每次100个并发...

    详解Nginx限流配置

    本文将详细介绍Nginx限流的配置方法,以及其背后所使用的漏桶算法。 首先,Nginx限流的配置主要涉及到的核心指令是“limit_req_zone”,它用于定义限流规则。规则中包含了限流的依据,例如客户端IP地址,并设置一个...

    分布式限流面试专题系列:Nginx+zookeeper.rar

    例如,了解如何在Nginx中配置限流规则,以及如何利用Zookeeper进行分布式限流的动态配置,都是展现技术深度的好方式。同时,熟悉Java中限流库的使用,能够体现你对微服务架构和系统稳定性的理解。 总的来说,分布式...

    nginx限流方案的实现(三种方式)

    本文将详细介绍Nginx实现限流的三种方式:`limit_conn_zone`、`limit_req_zone`以及`ngx_http_upstream_module`。 ### 1. `limit_conn_zone` `limit_conn_zone` 是Nginx用于限制客户端连接数的指令。它基于IP地址...

    一步步安装nginx搭建流媒体服务器

    一步步安装nginx搭建流媒体服务器的所有软件打包; nginx-1.8.0.tar.gz :应用服务器主程序 nginx_mod_h264_streaming-2.2.7.tar.gz :MP4流媒体支持模块。 openssl-1.0.1c.tar.gz :openssl库 pcre-7.9.tar.gz :...

    nginx四层代理测试 及SLB负载均衡功能配置测试

    nginx 四层代理测试 及SLB负载均衡功能配置测试 本文档旨在介绍nginx 四层代理测试 及SLB负载均衡功能配置测试的详细结果和结论。通过对nginx 四层代理和SLB负载均衡功能的测试,我们可以了解到其在实际应用中的优...

    rtmp直播nginx推流插件

    【rtmp直播nginx推流插件】是一种高效且便捷的实时流媒体解决方案,它结合了Nginx服务器和RTMP协议,使得视频直播变得更加简单。Nginx是一款高性能的HTTP和反向代理服务器,同时也支持流媒体服务。而RTMP(Real-Time...

    nginx性能测试与优化1

    本篇主要涉及了两个测试工具——ab和wrk,以及如何在CentOS7上编译安装Nginx 1.16.1稳定版,并使用echo模块和stub_status模块进行基本功能测试。 1. **ab测试工具安装**: ApacheBench(ab)是Apache服务器自带的...

    LINUX-nginx

    它以其轻量级的进程模型、高并发处理能力以及低内存消耗而闻名,广泛应用于互联网和企业级应用中,作为Web服务器或负载均衡器。 **Nginx的主要功能** 1. **静态资源服务**:Nginx非常擅长处理静态文件,如HTML、...

    nginx 限制ip、并发量、连接数等配置

    在运维过程中,为了保障服务器稳定性和安全性,通常需要对访问进行一定的限制,包括限制特定IP、控制并发连接数以及设定连接数上限。本文将详细介绍如何在Nginx配置中实现这些功能。 一、限制特定IP访问 在Nginx...

    Nginx教程 防御ddos,用户访问控制,限流.zip

    **Nginx 教程:防御DDoS、用户访问控制与限流** Nginx是一款高性能的HTTP和反向代理服务器,广泛应用于Web服务领域,以其高效、稳定和灵活的配置而闻名。本教程将围绕如何利用Nginx进行DDoS防御、用户访问控制以及...

    16-08 nginx-hls-多码率测试环境搭建1

    8. **测试**:搭建完成后,可以通过推流工具向Nginx服务器发送RTMP流,然后通过支持HLS的播放器验证流是否正常,多码率是否生效。 9. **权限控制和状态监控**:Nginx的配置可以控制直播访问权限,同时可以使用`stat...

    海康威视摄像头RTSP使用nginx推流到服务器直播教程

    接下来,我们需要在服务器上安装nginx以及它的rtmp模块。nginx是一个高性能的HTTP和反向代理服务器,通过添加rtmp模块,它可以处理RTMP和HLS等流媒体协议。可以通过以下步骤进行安装: 1. 更新服务器软件库:`sudo ...

    Nginx服务器限制访问速度的配置方法

    开发测试阶段在本地限速模拟公网的环境,方便调试。投入运营会有限制附件下限速度,限制每个用户的访问速度,限制每个IP的链接速度等需求。 刚遇到一个Bug在网络很卡的情况下才能重现,本地调试访问本机速度太快,...

Global site tag (gtag.js) - Google Analytics