CentOS 7.x 아파치 2.4.x 다운로드 속도 제한하기
CentOS 에 국한 되는 것은 아니고 아파치 2.4 버전대에 해당되는 기능이다.
2.2 버전대에서는 cband 모듈로 트래픽 제한을 하였었는데
2.4 버전에서는 따로 모듈을 설치하지 않고도 속도 제한이 가능하다.
아무것도 건들지 않은체로 속도 테스트를 해보도록 하겠다.
[root@conoha html]# dd if=/dev/zero of=/var/www/html/100M.bin bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.110541 s, 949 MB/s
[root@conoha html]# cd
[root@conoha ~]# wget http://conoha.ivps.kr/100M.bin
--2016-04-09 10:40:25-- http://conoha.ivps.kr/100M.bin
Resolving conoha.ivps.kr (conoha.ivps.kr)... 133.130.126.29
Connecting to conoha.ivps.kr (conoha.ivps.kr)|133.130.126.29|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 104857600 (100M) [application/octet-stream]
Saving to: ‘100M.bin’
100%[======================================>] 104,857,600 408MB/s in 0.2s
2016-04-09 10:40:26 (408 MB/s) - ‘100M.bin’ saved [104857600/104857600]
100MB 사이즈의 파일을 만들어서 로컬호스트에서 wget 으로 다운로드 해보니 408MB/s 속도가 나왔다.
로컬이라서 빠른 것은 당연하겠지만 아무튼 속도 제한이 걸린 것으로 볼 수가 없는 속도가 나온다.
[root@virtualbox ~]# wget conoha.ivps.kr/100M.bin
--2016-04-11 10:48:49-- http://conoha.ivps.kr/100M.bin
Resolving conoha.ivps.kr (conoha.ivps.kr)... 133.130.126.29
Connecting to conoha.ivps.kr (conoha.ivps.kr)|133.130.126.29|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 104857600 (100M) [application/octet-stream]
Saving to: ‘100M.bin’
100%[======================================>] 104,857,600 8.71MB/s in 12s
2016-04-11 10:49:20 (8.63 MB/s) - ‘100M.bin’ saved [104857600/104857600]
이번엔 다른 네트워크의 VirtuaBox 기반 vps 에서 다운로드 받은 결과다. 8.63MB/s 가 나왔다. 69.04Mbps 속도가 나온다.
이제 속도를 제한해 보도록 하겠다.
vi /etc/httpd/conf.modules.d/00-base.conf 파일에서 아래 부분을 찾아서 주석해제
#LoadModule ratelimit_module modules/mod_ratelimit.so
vi /etc/httpd/conf.d/ratelimit.conf 파일에 아래 부분 내용 저장
500 은 500Kbps 의 의미이다. Location 은 특정 디렉토리를 지정할 수도 있다. 위에는 / 루트이므로 전체가 속도 제한이 된다.
아파치 재시작하고 다운로드 속도 테스트를 해보자.
[root@conoha ~]# systemctl restart httpd
[root@conoha ~]# wget http://conoha.ivps.kr/100M.bin
--2016-04-09 10:56:20-- http://conoha.ivps.kr/100M.bin
Resolving conoha.ivps.kr (conoha.ivps.kr)... 133.130.126.29
Connecting to conoha.ivps.kr (conoha.ivps.kr)|133.130.126.29|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 104857600 (100M) [application/octet-stream]
Saving to: ‘100M.bin.3’
100%[======================================>] 104,857,600 522KB/s in 3m 25s
2016-04-09 10:59:45 (500 KB/s) - ‘100M.bin.3’ saved [104857600/104857600]
정확하게 500KB/s 속도가 나왔다.
속도 제어가 되고 있다는 결과이다.
로컬에서 받더라도 제한이 걸리며, 전체 트래픽에 대한 제한이 아닌 1 커넥션당 제한속도이다.
아파치 2.2 버전대라면 여기를 http://itrooms.tistory.com/111 참고해서 트래픽 제어가 가능하다.
'LINUX' 카테고리의 다른 글
아파치 로그에 ::1 안 쌓이게 하는 방법 (0) | 2016.04.11 |
---|---|
MySQL Too many open files 에러 처리 방법 (0) | 2016.04.11 |
아파치 웹서버 성능검사 도구 (0) | 2016.04.08 |
CentOS 7.x firewalld 대신에 iptables 로 대체 (0) | 2016.04.07 |
CentOS 7.x enp0s3 를 eth0 로 변경하는 방법 (2) | 2016.04.07 |