Posted by: M'Creative | 19 January 2013

Solusi mempercepat akses situs dengan GZIP Compression


Polimak, Januari 2013

Ketika sedang mengakses sebuah situs, yang paling sering dikeluhkan adalah “lola” loading lama, lambat sekali, sehingga laman tidak muncul juga.

Ada dua faktor yang menyebabkan suatu situs lambat untuk dibuka, yang pertama faktor eksternal, dan yang kedua faktor internal situs itu sendiri.

Faktor eksternal yang menyebabkan lambatnya membuka situs sangat beragam, mulai dari perangkat keras user, perangkat lunak user dan jaringan user. Masing-masing penyebab tersebut juga terbagi lagi menjadi bagian-bagian.

Yang ingin saya bahas di sini adalah faktor kedua yaitu faktor internal yang menyebabkan situs kita menjadi lambat untuk dibuka.

Sebelumnya ada baiknya anda membaca artikel mengenai tips memilih hosting

Kompresi adalah cara simpel dan efektif untuk mempercepat akses situs. Rekomendasi saya adalah menggunakan GZIP Compression.

Mengapa kita harus melakukan kompresi?

Sebelumnya sedikit saya jelaskan mengenai web compression. Ketika anda membuka sebuah halaman, misal http://www.djafa.org, browser dan server situs akan saling mengobrol.

Browser : Mbro, gw minta request halaman www.djafa.org/index.html dong

Server : Ok mbro, saya coba cari dulu.

Ketika server menemukan obrolan pun berlanjut

Server : Mbro, gw udah nemu nih, halaman yang elu minta, respon kode elu 200 OK

Browser : Emm 100KB? Besar banget mbro, sabar ya mbro,,, loading lama ni😀

Server : Epen kah???

Browser : "Cupen to, sambil ngantuk2 nungguin halaman yang diminta belum muncul

Jadi masalahnya apa?

Walaupun pada akhirnya si browser bisa menampilkan halaman yang diminta. 100KB mengandung banyak tulisan dan tentu saja html pasti mempunyai opening tag dan closing tag, setiap <html> pastilah tulisan tersebut ditulis kembali sebagai penutup </html>, ada <div><table><li><ul> dan masih banyak lagi.

Tidak salah lagi, kita harus mengkompressnya!!!

Jika kita mengirim file html dalam bentuk zip yang telah dikompress, tentu akan menghemat bandwidth, waktu dan biaya. Dan kita tidak perlu stress gara-gara loading lama.

Browser mampu mendownload zipped file, mengekstrak, kemudian menampilkan ke user.

Dialognya pun berubah

Browser : Mbro, gw minta request halaman www.djafa.org/index.html dong

Server : Ok mbro, saya coba cari dulu.

Ketika server menemukan obrolan pun berlanjut

Server : Mbro, gw udah nemu nih, halaman yang elu minta, gw kompress dulu mbro.  Index.html (200 OK), gw kirim mbro.

Browser : Siip mbro, 10KB? Enak mbro, enteng😀

Server : Moga lapaknya laku keras mbro

Ok mari kita bahas cara mempercepat akses situs.

1. Cek seberapa cepat situs kita.

Silahkan anda cek situs anda dengan tool yang banyak disediakan para developer. Salah satunya adalah Google PageSpeed Insight. Ada Overview yang memperlihatkan nilai atau skor mengenai seberapa cepat situs kita.

Google PageSpeed Insight

Yang berada dalam area rectangle adalah yang perlu diperhatikan. Yaitu nilai sebarapa cepat situs kita dan prioritas utama yang menentukamn cepat lambatnya situs kita.

Gambar di atas menunjukkan bahwa score yang diperoleh adalah 85, sebelumnya telah saya cek seberapa cepat situs saya dan yang didapat hanya 65.

Google tentunya mengecek dengan server luar negeri, jika hosting anda berada di luar negeri kemungkinan besar akan mendapat skor yang lebih tinggi.

2.  CMS

Jika anda memakai CMS Joomla, wordpress, drupal dll, cek juga tema yang anda pakai, karena faktor ini juga sangat menentukan kecepatan akses situs kita. Semakin ringan tema anda, semakin cepat pula akses situs anda. Style, jss, javascript dll perlu diperhatikan jika anda mendevelop cms sendiri.

3.  Kompress Situs

Untuk IIS anda bisa baca http://technet.microsoft.com/en-us/library/cc771003(WS.10).aspx, mengenai “Enable Compression”.

Di Apache enabling output compression sangatlah mudah. Tambahkan saja baris berikut ke dalam file .htaccess anda.

# 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>

Apache mempunyai dua pilihan kompresi

    • mod_deflate setup yang mudah dan standar
    • mod_gzip lebih powerfull : bisa mengkompress terlebih dahulu kontent situs.

File .htaccess tidak ditampilkan di CPanel, oleh karenanya kita harus menggunakan  ftp client. Rename file .httacess menjadi contoh.httaccess terlebih dahulu, karena jika tidak direname, tidak akan bisa diedit. Kemudian jika sudah diupdate, kembalikan namanya menjadi .httaccess

Verifikasi Kompresi Anda

Cek hasil kompresi anda, dan pastikan tidak ada yang keliru😀

GIDZip Test 

Peringatan

    • Browser lama. Beberapa browser akan menemui masalah dengan  kontent terkompresi (walaupun mereka bilang bisa menerimanya, namun kenyataanya tidak). Jika situs anda mengharuskan bekerja di  Netscape 1.0 pada Windows 9.5, anda tidak perlu menggunkan kompresi. Apache mempunyai aturan untuk tidak menghindari kompresi pada browser lama
    • Beban CPU. Konsukensi dari pengompresan ini adalah beban CPU akan meningkat.

So, metode pengompresan dengan GZip compression adalah salah satu cara mempercepat perfoma situs anda. Mudah dan efisien.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: