# 참고 :  http://zabbixzone.com/zabbix/making-your-frontend-faster/

              http://httpd.apache.org/docs/2.2/ko/mod/mod_deflate.html

 

=======================================================================

# 테스트 환경
CPU : 2.4Ghz * 1
MEM : 1GB
OS : Linux version 2.6.35.6 (Fedora release 14)

 
Apache : 2.2.17
Zabbix : 1.8.8
PHP : 5.3.8

ApacheBench : 2.3
=======================================================================

 

 

Zabbix 웹 페이지는 많은 양의 HTML 컨텐츠를 포함하고 있으며, 모니터링 대상 호스트 및 아이템 등이 증가할 수록 웹 페이지의 속도나 부하는 증가할 것입니다. 관련하여 Apache의 Gzip 압축 전송 기능을 통해 네트워크 트래픽을 조금이라도 줄여 속도를 개선하고자 다음과 같은 테스트를 하였습니다.

 

참고로, Apache 2.2 버전 이상에서는 mod_deflate 모듈을 디폴트로 제공하고 있어 간단한 환경 설정을 통해 Gzip 압축 전송 기능을 구현할 수 있습니다.

 

 

1. httpd.conf  환경파일 수정

 

- httpd.conf 의 DSO Support 항목에 아래와 같이 LoadModule 부분에 mod_deflate.so/mod_headers.so 파일이 기술되어 있는지 확인 (혹, 주석 처리된 경우 주석을 제거하고, 코드 자체가 없으면 새로 기술)

 

~ 생 략 ~

 

# Dynamic Shared Object (DSO) Support  

LoadModule deflate_module modules/mod_deflate.so

LoadModule headers_module modules/mod_headers.so

 

~ 생 략 ~

 

 

- httpd.conf 파일 하단에 아래 구문 추가 (DEFLATE 출력 필터 설정 부분)

- 각 항목에 대한 자세한 설명은 http://httpd.apache.org/docs/2.2/ko/mod/mod_deflate.html 사이트 참고

 

<Location /zabbix>
# Insert filter
SetOutputFilter DEFLATE

 

# Netscape 4.x has some problems
BrowserMatch ^Mozilla/4 gzip-only-text/html

 

# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip

 

# MSIE masquerades as Netscape, but it is fine
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

 

# Don't compress images
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png)$ no-gzip dont-vary

 

# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</Location>

 

 

 

2. Apache, Zabbix  서비스 재시작

 

[root@zabbix ~]# service httpd restart

[root@zabbix ~]# service zabbix_server restart

 

 

 

3. HttpWatch 프로그램을 통해 Gzip 압축 전송기능(mod_deflate) 반영여부 체크

 

- mod_deflate 모듈 반영 전

 

 

 

- mod_deflate 모듈 반영 후

 : HttpWatch 프로그램 하단의 Headers Received 화면에서 Content-Encoding 항목의 Value 값이 'gzip' 으로 표시됨

 

 

 

 

 

4. HttpWatch 와 같은 프로그램 뿐만 아니라, 아래 사이트에서 제공하는 방법으로도 Gzip 압축 전송기능 사용여부를 쉽게 체크 가능

 

# HTTP Compression Test  (http://www.whatsmyip.org/http_compression/)

# Gzip Test for Web Page Compression  (http://aruljohn.com/gziptest.php) 

 

 

 

 

 

 

5. Apache Benchmark 툴로 작업 전/후 속도 체크

 

- mod_deflate 모듈 반영 전

 

[root@zabbix ~]# ab -c 50 -n 500 http://localhost/zabbix/overview.php

Time taken for tests:   106.420 seconds
Requests per second:    4.70 [#/sec] (mean)
Time per request:       10642.015 [ms] (mean)
Time per request:       212.840 [ms] (mean, across all concurrent requests)
Transfer rate:          58.42 [Kbytes/sec] received

 

 

- mod_deflate 모듈 반영 후

 

[root@zabbix ~]# ab -c 50 -n 500 http://localhost/zabbix/overview.php

 

Time taken for tests:   103.431 seconds
Requests per second:    4.83 [#/sec] (mean)
Time per request:       10343.099 [ms] (mean)
Time per request:       206.862 [ms] (mean, across all concurrent requests)
Transfer rate:          60.27 [Kbytes/sec] received

 

 

** 테스트 버전의 Zabbix 서비스라 그런지..

Gzip 압축 전송기능(mod_deflate) 반영 전/후의 속도 차이가 크지 않다.

설치가 다 끝이 아닌가보다. 다시 고민 시작..

 

 

+ Recent posts