Apache站点优化-下载限速
一、限速介绍
网站除了能共享页面给用户外,还能作为下载服务器存在。但是作为下载服务器时,我们应该考虑服务器的带宽和IO的性能,防止部分邪恶分子会通过大量下载的方式来攻击你的带宽和服务器IO性能。
假如你的服务器被邪恶分子通过下载的方式把带宽占满了,那么你或其他用户在访问的时候就会造成访问慢或者根本无法访问。
假如你的服务器被邪恶分子通过下载的方式把服务器IO占满了,那么你的服务器将会无法处理用户请求或宕机。
以上的两个问题在我们生产环境下是很可能也是很容易被攻击的,为了保护我们的带宽资源,我们可以通过限制下载速度来解决,防止某个用户下载占用大量带宽。同时,也可以通过限制连接数的上限来控制一个用户同一时间内同时发起的连接数做限制。
使用场景:资源下载服务器
优化目的:保护带宽及服务器IO资源合理使用
二、限速方法
apache自带了基于带宽限速的模块
ratelimit_module 该模块只能对连接下载速度做限制,且是单线程的下载,迅雷等下载工具使用的是多线程下载。
mod_limitipconn :限制每 IP 的连接数 。需要额外安装该模块
三、限速实现
1)mod_limitipconn模块下载
wget https://dominia.org/djao/limit/mod_limitipconn-0.24.tar.bz2
2)模块安装
- tar -zxvf mod_limitipconn-0.24.tar.gz
- cd mod_limitipconn-0.24
- vim Makefile
- 修改如下行
修改:apxs = “/usr/local/apache/bin/apxs”
指定apache命令apxs的路径
- make
- make install
3)查看apache主配置文件,是否有了该模块
LoadModule limitipconn_module modules/mod_limitipconn.so
有说明模块安装成功
4)实现限速
限速针对目录或者数据类型
针对目录 <Location /baism>…… ;
针对数据类型<Location /baism/*.mp4>……
LoadModule ratelimit_module modules/mod_ratelimit.so
LoadModule limitipconn_module modules/mod_limitipconn.so
<Location /baism>
SetOutputFilter RATE_LIMIT
SetEnv rate-limit 100 #限速100k
MaxConnPerIP 3 #限制的线程数
NoIPLimit index.htm #对此文件不做限制
</Location>
四、测试
1)生成下载数据
dd if=/dev/zero of=/usr/local/apache/htdocs/web1/baism/bigfile bs=1M count=300
2)使用wget下载数据
wget http://192.168.11.251/baism/bigfile
测试方法: 并发下载3个以上看是否有限制 查看下载速率是否在100K左右
测试图片
未限制限速前下载速度展示
) 开启下载速度限速,限制下载速度100KB
基于IP的并发下载限制,同一客户端下载并发为3
相关文章
- Apache Maven 高级应用(Part B)
- nginx php apache php 对比,Apache和nginx的比较「建议收藏」
- Apache安全-用户登录验证
- 压力测试之Apache ab
- Apache Hudi 使用文件聚类功能 (Clustering) 解决小文件过多的问题
- Linux-apache部署多个.net项目
- 教你使用Apache搭建Http下载服务器
- Linux下启动Apache服务的方法(linux启动apache)
- 的结合Apache和MySQL的完美结合(apache与mysql)
- Apache Tomcat 7.0.54现已可供下载
- 阿里巴巴向 Apache 软件基金会捐赠消息中间件 RocketMQ
- Apache与MySQL联动改变Web服务(apache跟mysql)
- Apache安装MySQL数据库的指南(apache装mysql)
- Apache与MySQL的完美融合开启精彩程序之旅(apache加mysql)
- Apache服务器的用户认证
- CentOS5.4服务器配置yum安装Apache+php+Mysql
- Apache配置详解(最好的APACHE配置教程)
- CentOS(Linux)下的apache服务器配置与管理方法分享
- IIS、Apache、Nginx下用IE下载apk文件变成zip的解决办法
- apache使用.htaccess文件实现屏蔽wget下载网站内容
- Windows系统下Apache、PHP无法启动问题总结
- Linux+php+apache+oracle环境搭建之CentOS下安装Apache
- Apache安装配置mod_pagespeed加速模块