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? - Solusi mempercepat akses situs dengan GZIP Compression
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 - Solusi mempercepat akses situs dengan GZIP Compression
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.
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 😀
- Online. Gunakan online gzip test.
- Browser. Mozzila Web Developer Toolbar
- Melihat Header. GunakanLive HTTP Headers untuk mengujinya. Cari baris Content-encoding: gzip .
Peringatan - Solusi mempercepat akses situs dengan GZIP Compression
- 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.