리자

mod_bandwidth(트래픽 제한, 접속자당 제한)

· 20년 전 · 2941
트래픽 제한(접속당) 모듈 (mod_bandwidth) 설치 및 운영
mod_bandwidth

아파치에 접속하는 사용자들의 대역폭을 제한한다. mod_throttle 와 비슷하지만, 용도가 다르다.
이놈들은 아파치 정식 모듈이 아니니.. DSO모드로 올렸다가. 이상하면 내린다.^^;

1. 개념
한 접속당 일정양(Byte/Sec)을 정해 놓고, 그 양이 넘으면 delay 시켜 일정한 트래픽을 유지한다.

2. 설치
(1) 먼저 모듈을 구한다. 어디서 ?? 개발자 사이트에서
http://www.cohprog.com/v3/bandwidth/intro-en.html

wget ftp://ftp.cohprog.com/pub/apache/module/1.3.0/mod_bandwidth.c
(2) 컴파일 및 설치 (apxs 를 사용하여 한방에 끝낸다.)
/usr/local/apache/bin/apxs -i -a -c mod_bandwidth.c
## 옵션 설명.
-i : 라이브러리 디렉토리에 so 파일 복사하라는 옵션
-a : httpd.conf 파일에 LoadModule 설정을 하라는 옵션
-c : 컴파일 하라는 옵션

3. 설정
(1) httpd.conf 파일을 열어서 다음과 같이 설정한다.

## 1인 트래픽 제한 모듈 로딩.
LoadModule bandwidth_module libexec/mod_bandwidth.so

아파치가 실행할때의 사용자권한(nobody 또는 apache )으로 읽기,쓰기,실행권한이 있는 디렉토리가 있어야 한다.
기본적으로 /tmp/apachebw , /tmp/apachebw/link , /tmp/apachebw/master 이렇게 생성한다.
변경하려면 BandWidthDataDir 지시자를 이용한다.
(위 디렉토리에 문제가 있으면 error로그 파일에 남기고 ,기능은 비활성화 된다.)


지시자:
* BandWidth 에서 사용할 임시 디렉토리 지정 (기본:/tmp/apachebw)
BandWidthDataDir 디렉토리:
Context : server

* BandWidthModule 사용 여부 (기본 Off)
BandWidthModule On 또는 Off
Context : server,
가상호스트 안에 사용할경우 가상호스트 마다 BandWidthModule On 설정을 하여야 하며,
지시자 안에 넣을때는 따로 넣어주지 않아도 된다.

* BandWidth 에서 지연할 시간 설정 (microsecond 단위)
BandWidthPulse
Context : server
예전에는 지연시간이 1초로 고정되어 있었다. 이 말은 512Bit/sec 라면. 1KBit 를 보내려면,
1KBit을 보낸후에 2초 기다린후 512Bit 을 보냈다. 그렇지만, "BandWidthPluse 1000000" (1초)를 설정하면,
512Bit을 보내고 1초 기다린후 512Bit을 보낸다.
이 값을 설정하면, 보다 부드럽게 제한하면서 보낼수 있다. 설정값을 (1/5 초) 이상 사용하길 권장한다.
장점 : 부드럽게 트래픽을 제한할 수 있다.
단점 : 패킷의 양이 많아지며, 값이 적을수록 서버에 부하를 많이 준다.

* BandWidth 를 통한 대역폭 제한
BandWidth
Context : Directory
domain,ip등은 접속하는 사용자의 ip및 도메인이다. ip 는 넷마스크를 적용할 수 있다.
rate : 바이트 단위 초당 대역폭, 0은 제한을 두지 않음.

* 큰 파일만 대역폭 제한
LargeFileLimit
Context : Directory
filesize : filesize 는 파일크기(KByte)이 파일 크기 이상에멘 rate 적용
rate : 바이트 단위 초당 대역폭(Byte/Sec), 0은 무제한

* 최대 연결수 제한 (기본 0 제한없음)
MaxConnection
Context : Directory
동시연결수가 connections 이상이면 연결을 거부한다.
(가상 호스트별 최대 동시 연결수 제한에 좋을것 같음^^;)

* 최소 대역폭 설정 (기본 255Byte/Sec , 0을 설정해도 255 이다., -1을 넣으면 최소대역폭은 0이 된다.)
MinBandWidth
(BandWidth, LargeFileLimit 보다 우선한다.)


예)) 가상호스트 속에 들어간다.
BandWidthModule On
## 50M 넘는 파일은 100KByte/Sec 으로 제한 한다.
LargeFileLimit 51200 102400
## 동시에 5개의 접속을 허용한다.
MaxConnection 5

(( 주의 ))
mkdir -p /tmp/apachebw/master/
mkdir -p /tmp/apachebw/link
chown -R nobody:nobody /tmp/apachebw

이렇게 디렉토리를 만들어주지 않으면 작동하지 않는다.. error_log 에 로그만 뿌린다.^^<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:30:25 Apache에서 이동 됨]</div>
|
댓글을 작성하시려면 로그인이 필요합니다. 로그인

프로그램

+
제목 글쓴이 날짜 조회
19년 전 조회 2,685
19년 전 조회 3,433
19년 전 조회 2,393
19년 전 조회 4,077
19년 전 조회 3,263
19년 전 조회 4,107
19년 전 조회 3,456
19년 전 조회 3,081
19년 전 조회 3,377
19년 전 조회 2,425
19년 전 조회 2,830
19년 전 조회 2,324
19년 전 조회 3,690
19년 전 조회 4,725
19년 전 조회 3,754
19년 전 조회 1,717
19년 전 조회 2,725
19년 전 조회 2,371
19년 전 조회 2,605
19년 전 조회 4,390
19년 전 조회 2,563
19년 전 조회 3,017
19년 전 조회 2,976
19년 전 조회 3,648
19년 전 조회 3,604
19년 전 조회 1,827
19년 전 조회 2,195
19년 전 조회 2,759
19년 전 조회 2,422
19년 전 조회 4,291
19년 전 조회 3,282
19년 전 조회 4,064
19년 전 조회 2,581
19년 전 조회 2,464
19년 전 조회 2,932
19년 전 조회 2,460
19년 전 조회 2,758
19년 전 조회 2,446
19년 전 조회 3,155
19년 전 조회 1,673
19년 전 조회 2,970
19년 전 조회 2,237
19년 전 조회 2,164
19년 전 조회 2,258
19년 전 조회 2,612
19년 전 조회 2,097
19년 전 조회 4,444
20년 전 조회 2,656
20년 전 조회 2,434
20년 전 조회 2,942
20년 전 조회 3,035
20년 전 조회 3,091
20년 전 조회 2,620
20년 전 조회 2,998
20년 전 조회 2,523
20년 전 조회 2,184
20년 전 조회 2,768
20년 전 조회 2,455
20년 전 조회 2,527
20년 전 조회 3,782
20년 전 조회 3,255
20년 전 조회 4,973
20년 전 조회 2,396
20년 전 조회 4,488
20년 전 조회 3,087
20년 전 조회 2,864
20년 전 조회 3,711
20년 전 조회 2,628
20년 전 조회 3,707
20년 전 조회 3,981
20년 전 조회 3,409
20년 전 조회 3,456
20년 전 조회 4,076
20년 전 조회 2,330
20년 전 조회 5,066
20년 전 조회 3,623
20년 전 조회 2,571
20년 전 조회 2,254
20년 전 조회 2,712
20년 전 조회 2,999
20년 전 조회 2,769
bbbking
20년 전 조회 5,750
20년 전 조회 2,674
bbbking
20년 전 조회 4,253
20년 전 조회 2,121
20년 전 조회 7,283
20년 전 조회 2,386
20년 전 조회 3,463
20년 전 조회 4,270
20년 전 조회 2,592
20년 전 조회 3,881
20년 전 조회 3,044
20년 전 조회 4,071
20년 전 조회 5,096
20년 전 조회 4,203
20년 전 조회 5,821
20년 전 조회 2,023
20년 전 조회 3,283
20년 전 조회 3,514
20년 전 조회 2,901
🐛 버그신고