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 1.修改:apxs = “/usr/local/apache/bin/apxs”指定apache命令apxs的路徑make make install3)查看apache主配置文件,是否有了該模塊
LoadModule limitipconn_module modules/mod_limitipconn.so
有說明模塊安裝成功
4)實現限速
限速針對目錄或者數據類型
針對目錄 ……
針對數據類型……
LoadModule ratelimit_module modules/mod_ratelimit.so LoadModule limitipconn_module modules/mod_limitipconn.soSetOutputFilter RATE_LIMITSetEnv rate-limit 100 #限速100k MaxConnPerIP 3 #限制的線程數 NoIPLimit index.htm #對此文件不做限制四、測試
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
測試圖片
未限制限速前下載速度展示
開啟下載速度限速,限制下載速度100KB
基于IP的并發下載限制,同一客戶端下載并發為3
總結
以上是生活随笔為你收集整理的apache站点优化--限速的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: apache站点优化—数据压缩
- 下一篇: apache安全—用户访问控制