Sabtu, 22 Agustus 2015

Freebsd varnish4 untuk meningkatkan performa webserver


Apa itu varnish cache:

Varnish adalah sebuah aplikasi web accelerator juga dikenal sebagai reverse proxy HTTP caching. Jadi si varnish ini diinstal di depan server yang berfungsi sebagai perantara antara web browser dengan server web apache/nginx sekaligus menyediakan content yang sudah di cache kepada web browser sehingga proses browsing terasa lebih cepat.
Varnish benar-benar cepat. Ini biasanya mempercepat pengiriman dengan faktor 300 – 1000x, tergantung pada spesifikasi server dan konfigurasinya.

Berikut saya sertakan langkah-langkah installasi varnish 4 di freebsd

Install from ports tree:
root@httpd:/home/aghe # whereis varnish4
varnish4: /usr/ports/www/varnish4
root@httpd:/home/aghe # portmaster www/varnish4

Membuat varnish config file:
root@httpd:/home/aghe # cd /usr/local/etc/varnish/
root@httpd:/usr/local/etc/varnish # nano default.vcl

Contoh varnish versi 4 klik disini
untuk komunikasi antara varnish dengan apache saya gunakan port 8181
backend default {
    .host = "127.0.0.1";
    .port = "8181";

Modifikasi http.conf file:
Modifikasi Listen port untuk webserver di httpd.conf menjadi
Listen 8181

Jika server anda menggunakan virtualhost dengan banyak domain sesuaikan juga listen portnya menjadi 8181.

Enable varnish saat booting:
Tambahkan baris di bawah ini kedalam file /etc/rc.conf
# Varnish4 enable
varnishd_enable="YES"
varnishd_listen=":80"
varnishd_config="/usr/local/etc/varnish/default.vcl"

Perhatikan varnish listen di port 80 menggantikan apache di karenakan saat ini web browser akan di arahkan ke varnish tidak lagi ke webserver/apache.

Restart service apache dan varnishd:
root@httpd:/usr/local/etc # service apache22 restart && service varnishd start

Test varnish caching:
Test dari client browser
aghe@aghe-home ~ $ GET -Used http://www.mywebsite.com/index.php
.......................
X-Cache: cached
X-Cnection: close
X-Meta-Description: Company official website
X-Meta-Generator: Joomla! - Open Source Content Management
X-Meta-Viewport: width=device-width, initial-scale=1.0
..............................
Bagaimana sudah terasa lebih cepatkan loading halaman web nya?