Cara Mudah Mempercepat Akses Situs/Blog WordPress Dengan W3 Total Cache

WordPress, tidak bisa dipungkiri untuk saat ini adalah “the best free & open source CMS”. Matt Mullenweg, founder dari WordPress, ketika memberikan presentasi di WordCamp San Francisco pada Agustus 2011, mengumumkan bahwa WordPress telah mengalami pertumbuhan yang sangat impresif. WordPress hingga Agustus 2011 telah dipakai oleh 14,7% situs/blog yang masuk dalam predikat “Top 1 Million“. Dan 22 dari 100 domain aktif baru di Amerika menggunakan WordPress.

WordPress merupakan CMS yang gratis, sumber terbuka (open source), powerful, fleksibel, aman dan support yang didukung oleh jutaan pengguna wordpress di seluruh dunia. Anda mempunyai masalah dengan WordPress? Ketik saja kata permasalahan anda di kotak pencarian Google, dan ribuan solusi akan dipaparkan untuk membantu anda.

Mengapa WordPress Membutuhkan Caching?

Di setiap kali ada pengunjung situs/blog kita, WordPress akan memproses rekues yang terkadang membutuhkan waktu cukup lama. Awalnya WordPress akan memproses kode PHP yang akan membuat beberapa panggilan ke database dan menjadikannya format HTML agar bisa ditampilkan di browser agar pengunjung bisa melihat halaman yang mereka rekues. Di situs/blog yang memiliki trafik tinggi, proses ini bisa terjadi berulang-ulang puluhan hingga ratusan kali per halaman! Dan ini bisa membuat kinerja server menjadi tinggi, dan akibatnya WordPress akan berjalan bak siput, alias lemot.

Dengan caching, WordPress akan memproses rekues via PHP ke database hanya pada pengunjung pertama saja. Selanjutnya jika ada pengunjung lain yang datang mengakses akan dilayani via cache. Dengan caching, WordPress tidak perlu lagi berulang-ulang melakukan rekues ke PHP & Database untuk melayani setiap pengunjung. Dampaknya WordPress akan tetap cepat walaupun diakses oleh banyak pengunjung.

Caching Dengan W3 Total Cache

Cara termudah untuk melakukan caching WordPress adalah menggunakan plugin. Tersedia banyak pilihan plugin untuk caching, diantaranya W3 Total Cache, WP Super Cache, Hyper Cache, dll.

Saya pribadi lebih memilih W3 Total Cache karena plugin caching ini memiliki fitur yang cukup lengkap diantara kompetitor lainnya, diantaranya dukungan untuk CDN (content Delivery Network), Page Caching, HTML/Javascript/CSS minify, Object Cache, Database Cache, Varnish Purge, dukungan untuk Cloudflare.

Benchmark

Untuk melakukan test WordPress sebelum dan sesudah menggunakan W3 Total Cache, saya memakai Apache Bench dengan opsi 10 concurrent connections untuk 1000 hits (dengan keepalive).

Note: Saya menginstall WordPress 3.4.2 dengan tanpa tambahan isi, hanya default dari instalasi WordPress saja.

Perintah yang saya jalankan untuk benchmark adalah:

ab -kc 10 -n 1000 http://www.situs-saya.com/

Adapun hasil SEBELUM menggunakan W3 Total Cache adalah sebagai berikut:

Server Software:        Apache
Server Hostname:        www.situs-saya.com
Server Port:            80

Document Path:          /
Document Length:        7423 bytes

Concurrency Level:      10
Time taken for tests:   35.830 seconds
Complete requests:      1000
Failed requests:        617
   (Connect: 0, Receive: 0, Length: 617, Exceptions: 0)
Write errors:           0
Keep-Alive requests:    0
Total transferred:      7628800 bytes
HTML transferred:       7424800 bytes
Requests per second:    27.91 [#/sec] (mean)
Time per request:       358.295 [ms] (mean)
Time per request:       35.830 [ms] (mean, across all concurrent requests)
Transfer rate:          207.93 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:    29  357  59.6    386     498
Waiting:       29  357  59.7    386     498
Total:         29  357  59.6    386     498

Percentage of the requests served within a certain time (ms)
  50%    386
  66%    395
  75%    398
  80%    400
  90%    405
  95%    413
  98%    491
  99%    493
 100%    498 (longest request)

Diatas menunjukkan bahwa dengan 10 cuncurrent connections untuk 1000 hits, WordPress membutuhkan waktu 498 miliseconds.

Sedangkan hasil benchmark dengan menggunakan W3 Total Cache adalah sebagai berikut:

Server Software:        Apache
Server Hostname:        www.situs-saya.com
Server Port:            80

Document Path:          /
Document Length:        7093 bytes

Concurrency Level:      10
Time taken for tests:   0.673 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Keep-Alive requests:    996
Total transferred:      7400794 bytes
HTML transferred:       7093000 bytes
Requests per second:    1484.92 [#/sec] (mean)
Time per request:       6.734 [ms] (mean)
Time per request:       0.673 [ms] (mean, across all concurrent requests)
Transfer rate:          10732.02 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:     0    7  20.6      1      89
Waiting:        0    7  20.6      1      89
Total:          0    7  20.6      1      89

Percentage of the requests served within a certain time (ms)
  50%      1
  66%      1
  75%      1
  80%      2
  90%      4
  95%     84
  98%     85
  99%     85
 100%     89 (longest request)

Terlihat perbedaan yang sangat jauh sebelum dan sesudah menggunakan caching. Dengan 10 cuncurrent connections untuk 1000 hits, WordPress hanya membutuhkan waktu 89 miliseconds! Perbedaan yang signifikan juga terlihat pada hasil lainnya, seperti contoh failed request tidak ada, beda dengan tanpa cache yang failed request hingga 617!

Rangkuman

Gunakan selalu teknik cache agar WordPress anda bisa diakses dengan cepat. Kurangi penggunaan plugin yang terlalu banyak, karena akan menambah panggilan rekues ke PHP & Database, yang akan menyebabkan WordPress bekerja lebih keras, dan efeknya akan mempengaruhi kecepatan WordPress anda.

Comments 2

Leave a Reply

Your email address will not be published. Required fields are marked *