트래픽 제한(접속당) 모듈 (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>
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>
게시글 목록
| 번호 | 제목 |
|---|---|
| 9186 |
Flash
플래시 프리로딩 소스
3
|
| 9168 | |
| 9167 |
JavaScript
[FLV동영상] FLV 반복재생하기
|
| 28537 | |
| 9163 | |
| 28532 | |
| 9160 | |
| 9155 |
Flash
wmode
4
|
| 28530 |
HTML
특정 IP 차단하기...
1
|
| 9150 |
Flash
플래시 flv(동영상) 사용경험담
4
|
| 9144 | |
| 28529 | |
| 9143 |
기타
Top으로 ver2
|
| 9141 |
JavaScript
제목에 첫 글자만 스타일적용과 문장의 첫라인 스타일 적용
1
|
| 9138 | |
| 28523 |
HTML
전화 번호 숫자만 빼오기
5
|
| 9132 | |
| 28521 | |
| 9131 | |
| 9130 |
Flash
창크기 자동 조절
|
| 9129 |
Flash
플래시 메뉴
|
| 28517 |
HTML
사진을 액자에 넣기(액자 만들기)
3
|
| 9126 | |
| 28515 |
HTML
초간단 스크롤
1
|
| 9123 |
JavaScript
메모하지 않으면 깜빡깜빡 잊어버리는 것들
2
|
| 9122 |
기타
빈 무비클립 만들기
|
| 9119 | |
| 9118 | |
| 9114 |
JavaScript
euc-kr 문서를 utf-8 로 변환
3
|
| 9111 | |
| 28514 |
HTML
잘되는 센드메일 수신이 안될때...
|
| 9109 | |
| 9108 |
기타
Ajax 흉내 내기
|
| 9105 |
JavaScript
포토샵에서 트랜스폼과 카피를 동시에 하는 방법
2
|
| 9100 | |
| 9097 |
JavaScript
mod_rewrite 설치 법
2
|
| 9096 | |
| 9093 |
JavaScript
포토샵의 블렌딩 모드
2
|
| 9089 |
JavaScript
opacity(투명도) 값 쉽게 먹이기.
3
|
| 9083 | |
| 28511 | |
| 9081 |
기타
서버정보검색
1
|
| 9077 |
기타
텍스트시계
3
|
| 9073 | |
| 9070 |
기타
Key 관련
2
|
| 28510 |
HTML
textarea 에 Tab기능 넣기
|
| 9069 | |
| 9068 |
MySQL
초보일지 FC4에서 가상호스트설정과정
|
| 9067 |
기타
pop3서버 설치 방법
|
| 9065 |
JavaScript
메뉴 생성 클래스
1
|
| 9064 | |
| 9063 |
JavaScript
qpopper(pop3) 설치
|
| 9061 | |
| 9060 | |
| 9059 | |
| 28509 |
HTML
자바스크립트 오류 메시지 감추기
|
| 9058 |
JavaScript
RTL8201BL 랜카드 잡으려면
|
| 9057 |
MySQL
mysql 설치후 실행오류 처리
|
| 9056 | |
| 28508 | |
| 9055 |
JavaScript
RedHat(레드햇) 9 설치 후 yum 설치
|
| 9054 | |
| 28507 |
HTML
삼바 설정 간단 쉬운 쉽게
|
| 9053 | |
| 9052 |
JavaScript
메일 릴레이 테스트
|
| 9051 | |
| 9050 | |
| 9049 | |
| 9048 | |
| 9038 | |
| 9033 |
JavaScript
브러시 집안들 브러시 지름을 쉽고 빠르게 조절하자~~~
4
|
| 9032 |
정규표현식
페도라 코어 3에서 APM 설치하기
|
| 9031 |
Linux
rsync를 이용한 미러링
|
| 9029 | |
| 9026 | |
| 9024 |
기타
vi 서비스 편집
1
|
| 9023 |
MySQL
리눅스에서 mysql DB설정
|
| 9022 |
MySQL
리눅스 에서 아파치와 php 설치
|
| 9017 |
Flash
일러스트 CS2와 플래시에서 패스따기
4
|
| 9015 | |
| 28502 | |
| 9013 | |
| 9001 | |
| 8998 |
MySQL
exif 사용하기 (ms 윈도우용)
2
|
| 8994 |
JavaScript
Apache 보안 팁...--;;;
3
|
| 8993 |
기타
[펌] $_FILES
|
| 8992 | |
| 8989 |
JavaScript
scp 사용법
2
|
| 8988 | |
| 8987 |
Flash
선따라 움직이기(초보)
|
| 8981 |
JavaScript
옥션처럼 소스보기 안되는곳에 적용하니까, 소스 보이는 방법
5
|
| 8978 | |
| 8974 |
MySQL
실수로 삭제한 mysql DB 복구방법
3
|
| 8973 |
JavaScript
mozilla DHTML ROWS INSERT & DELETE
|
| 8971 | |
| 8970 | |
| 8963 |
JavaScript
제가 집에서 사용하는 서버를 살짝 공개합니다.^^
6
|
| 8959 | |
| 8953 |
JavaScript
ssh 무차별 로그인 공격 막기
5
|
| 8950 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기