limit_rate并没有单独的一个模块,而是在ngx_http_core_module中,同时它的相关指令也比较少,只有limit_rate和limit_rate_after这两个指令。 4.1、limit_rate server { location / { limit_rate 4k; } } limit_rate的用法非常简单,后面跟随的rate就是具体限速的阈值 注意默认的单位是bytes/s,也就是每秒传输的...
通过limit_rate和limit_rate_after指令只能控制单个连接的带宽,没有办法对整个client的带宽进行限制。通过如下limit_conn和limit_rate组合能限制某一个客户端在单个worker进程中的总带宽是:worker进程数量*10*50k。 location /jikui/ { limit_conn 10; limit_rate 50k; } 代码实现 配置层面 当NGINX解析配置时,在解...
作用域:http, server, location, if in location 命令概述:限制向客户端传送响应的速率限制。参数 rate 的单位是字节/秒,设置为 0 将关闭限速。 nginx 按连接限速,所以如果某个客户端同时开启了两个连接,那么客户端的整体速率是这条指令设置值的 2 倍。 limit_rate_after 语法:limit_rate_after size; 默认值...
当c->sent>clcf->limit_rate_after时,需要控制限速,分两种情况: r->limit_rate * (ngx_time() – r->start_sec + 1)>(c->sent – clcf->limit_rate_after) 理论传输量>实际传输量,不必控制(传得慢了) r->limit_rate * (ngx_time() – r->start_sec + 1)<(c->sent – clcf->limit_...
limit_rate主要用于限制用户和服务器之间传输的字节数,最常用的场景可能就是下载/上传限速。limit_rate并没有单独的一个模块,而是在ngx_http_core_module中,同时它的相关指令也比较少,只有limit_rate和limit_rate_after这两个指令。 4.1、limit_rate server { location / { limit_rate 4k; }} ...
limit_conn:表示单个 IP 限制最大连接数为 6。 limit_rate_after:表示请求前 10m 大小时不限速。 limit_rate:表示单个连接最大连接带宽限制为 1200k。 limit_conn_status:设置拒绝请求的返回值。值只能设置400 到 599 之间(默认是 503)。 limit_conn_log_level:定义日志级别,默认 error。
limit_rate_after 500k; limit_rate 50k; } 大概意思是:假如用户下载某个大文件,下载量达到 500k 后,便控制其速度在 50k 以内。 此控制是针对单个连接而言的。换言之,只能限制单个连接的带宽,不能限制总带宽。不过使用 limit_conn 模块的话,可以在一定程度上缓解问题 ...
location/test/{limit_rate_after 500k;limit_rate 50k;} 如果同时配置了sendfile_max_chunk 指令,按照两者较小的数值进行带宽控制。 实战测试 代码语言:javascript 复制 location/{limit_rate 1k;root html;} 在浏览器输入http://xxxx/portal.tar下载 portal.tar 文件 可以看到下载速度在 1k 以内 ...
limit_rate_after允许在传输了一部分数据之后再进行限速,例如上面的配置中就是传输的前500kbyte数据不限速,500k之后再进行限速。比较常见的应用场景如分段下载限速,超过指定大小的部分再进行限速;又或者是流媒体视频网站一般为了保证用户体验而不会对第一个画面进行限速,确保其能够尽快加载出来,等用户开始观看视频之后,再...
limit_rate_after 500k; limit_rate 50k; } 大概意思是:用户下载达到 500k 后,便控制其速度在 50k 以内。 坏消息是此控制是针对单个连接而言的。换言之,只能限制单个连接的带宽,不能限制总带宽。不过使用 limit_conn 模块的话,可以在一定程度上缓解问题: ...