Menambah Kinerja Webserver Centos 5.7 Dengan Mod_Deflate

Menambah Kinerja Webserver Centos 5.7 Dengan Mod_Deflate – Kecepatan loading sebuah website merupakan salah satu hal penting terutama jika si user sangat fakir bandwidth. Manfaat jika sebuah website memiliki loading yang cepat juga akan sangat terasa dari sisi server karena beban webserver dan juga router sebagai jalur bandwidth akan terasa lebih ringan. Ada beberapa artikel yang mennyarankan menggunakan aplikasi tambahan seperti EAccelerator atau Turck MMCache yang menurut beberapa webmaster dapat menambah kinerja Apache hingga 10x lipat sehingga website akan ter-load dengan cepat.

Disini aku tidak memakai 2 aplikasi tersebut apalagi menjelaskannya :p , disini aku menggunakan module mod_deflate pada webserver Centos 5.7 selain karena settingnya lebih mudah module tersebut juga sudah tersedia dalam instalasi default Apache. Dengan metode mod_deflate ini sebuah website yang di request oleh sebuah browser akan memberikan reply file2 dalam keadaan dimampatkan / dicompress. Berikut ilustrasinya :

Web Request Tanpa Kompresi

Kemudian bandingkan dengan ilustrasi berikut apabila webserver telah menggunakan metode kompresi.

Web Request Dengan Kompresi

Coba perhatikan kapasitas yang dikirim webserver kepada client, webserver yang telah dioptimasi dengan mod_deflate akan mengirimkan data dengan kapasitas jauh lebih kecil jika dibandingkan dengan yang tidak. Tentu saja hal ini merupakan kabar gembira bagi user yang fakir bandwidth dan tentu saja dapat meningkatkan kinerja webserver juga.

Baik, langsung ke langkah2 instalasi mod_deflate :

1. Pastikan module mod_deflate terinstall di webserver Centos 5.7

locate mod_deflate.so

2. Jika mod_deflate belum ada silahkan update Apache pada webser ke versi terbaru. Aku menggunakan Apache versi seperti dibawah ini :

# Server version: Apache/2.2.3
# Server built:   Oct 20 2011 17:00:12

3. Jangan lupa untuk mengaktifkan module mod_deflate di httpd.conf hilangkan tanda # didepannya

#LoadModule deflate_module modules/mod_deflate.so

menjadi

LoadModule deflate_module modules/mod_deflate.so

4. Setelah mengaktifkan mod_deflate, tambahkan baris dibawah ini ke dalam file httpd.conf

Baris dibawah ini akan mengkompres seluruh content website kecuali file image, aplikasi, archive dan pdf :

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE

<IfModule mod_setenvif.c>
# 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

# NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
# the above regex won’t work. You can use the following
# workaround to get the desired effect:
#BrowserMatch bMSI[E] !no-gzip !gzip-only-text/html

# Don’t compress already-compressed files
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:avi|mov|mp3|mp4|rm|flv|swf|mp?g)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .pdf$ no-gzip dont-vary
</IfModule>

<IfModule mod_headers.c>
# Make sure proxies don’t deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</IfModule>
</IfModule>

selain menambahkan baris perintah diatas ke dalam file httpd.conf ada alternatif lain yaitu dengan menggunakan file .htaccess yang diletakkan pada root web folder. Masukkan baris perintah berikut pada file .htaccess sebelum di-copy ke root web folder :

# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

# Or, compress certain file types by extension:
<files *.html>
SetOutputFilter DEFLATE
</files>

5. Setelah menambahkan baris di httpd.conf kemudian restart Apache

/etc/init.d/httpd restart

Jika ke-5 langkah tersebut selesai dilakukan kemudian saatnya untuk test loading website dengan menggunakan www.gidnetwork.com atau dengan menggunakan www.whatsmyip.org. Dan berikut hasilnya pada webserver Centos 5.7 di kantor setelah mengaktifkan mod_deflate ….

Gunakan juga Web Developer Toolbar untuk melihat total kapasitas web content yang sebelum dan sesudah dikompress. Berikut hasilnya pada webserver centos 5.7 :

 

Sekedar tambahan untuk mengoptimalkan Mysql tambahkan baris2 perintah berikut pada file my.conf :

[mysqld]
socket=/path/to/mysql.sock
datadir=/var/lib/mysql
skip-locking
skip-innodb
# MySQL 4.x has query caching available.
# Enable it for vast improvement and it may be all you need to tweak.
query_cache_type=1
query_cache_limit=1M
query_cache_size=32M
# max_connections=500
# Reduced to 200 as memory will not be enough for 500 connections.
# memory=key_buffer+(sort_buffer_size+read_buffer_size)*max_connections
# which is now: 64 + (1 + 1) * 200 = 464 MB
# max_connections = approx. MaxClients setting in httpd.conf file
# Default set to 100.
#max_connections=200
#interactive_timeout=180
interactive_timeout=100
#wait_timeout=180
#wait_timeout=100
# Reduced wait_timeout to prevent idle clients holding connections.
#wait_timeout=30
wait_timeout=15
connect_timeout=10
# max_connect_errors is set to 10 by default
#max_connect_errors=10
#table_cache=256
#table_cache=1024
# Checked opened tables and adjusted accordingly after running for a while.
table_cache=512
#tmp_table_size=32M by default
#thread_cache=128
# Reduced it to 32 to prevent memory hogging. Also, see notes below.
thread_cache=32
# key_buffer=258M
# Reduced it by checking current size of *.MYI files, see notes below.
key_buffer=128M
# Commented out the buffer sizes and keeping the default.
# sort_buffer_size=2M by default.
#sort_buffer_size=1M
# read_buffer_size=128K by default.
#read_buffer_size=1M
# 1Mb of read_rnd_buffer_size for 1GB RAM — see notes below.
# read_rnd_buffer_size=256K by default.
#read_rnd_buffer_size=1M
# myisam_sort_buffer_size used for ALTER, OPTIMIZE, REPAIR TABLE commands.
# myisam_sort_buffer_size=8M by default.
#myisam_sort_buffer_size=64M
# thread_concurrency = 2 * (no. of CPU)
thread_concurrency=2
# log slow queries is a must. Many queries that take more than 2 seconds.
# If so, then your tables need enhancement.
log_slow_queries=/var/log/mysqld.slow.log
long_query_time=2

[mysql.server]
user=mysql
basedir=/var/lib

[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
open_files_limit=8192

[mysqldump]
quick
max_allowed_packet=16M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M

[myisamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M

[mysqlhotcopy]
interactive-timeout

[client]
socket=/path/to/mysql.sock

 

Segitu dulu tutorialnya … mohon dikoreksi jika ada kesalahan …. salam 😀

 

sumber : betterexplained.com + www.notesbit.com

Related Search

Tags: #aplikasi #mysql #webserver #website

Anda sedang membaca artikel tentang Menambah Kinerja Webserver Centos 5.7 Dengan Mod_Deflate. Silahkan baca artikel Be Log tentang Linux, Web lainnya. Semoga bermanfaat ...

Setup Unifi Controller di Debian 7 (Wheezy)
Setup Unifi Controller di Debian 7 (Wheezy)
Untuk kalangan admin jaringan memegang kendali atas
Menambahkan Swap Pada VPS Linux Debian
Menambahkan Swap Pada VPS Linux Debian
Mungkin tutorial ini sudah jamak di belantara
Restart Linux Service Ketika CPU Load Tinggi
Perkara High CPU Load adalah salah satu
Nginx Configuration Optimize
Worker Processes and Worker Connections The first

Top