super wordpress

My Super WordPress Site

Posted on Updated on

Waktu itu gue disuruh buat website yang bisa ngindex berita dari berbagai sumber, nah terus gue bingung kan mau bikin dari scratch atau pake cms apa gitu. Lalu kepikiran deh pake wordpress karena udah banyak plugin2 dan core engine yang berguna untuk posting dengan multiple category dan tagging. Nah setelah gue putusin untuk make wordpress, terus mulai deh gue bikin ArsipBerita.com menggunakan wordpress.

ArsipBerita.com adalah sebuah website yang tugasnya meng-arsip berita dari berbagai sumber dengan waktu yang hampir real time. Website ini sudah berumur sekitar 1 tahun dan ketika post ini ditulis saat ini arsip berita sudah meng-index ratusan ribu berita dan mempunyai sekitar 25000 s/d 30000 Pages View / hari.

Kok bisa sih wordpress dipake untuk ngindex berita, gimana cara nya tuh?

gue buat crawler untuk jalan2 ke sumber2 berita dan langsung di arsip ke website Arsip Berita.

Gimana sih topologi server-nya Arsip Berita sampe bisa nahan banyak pengunjung gitu?

1 Server Web – running Apache (untuk serving php) dan Nginx (untuk serving static file images, css, js).

2 Server MySQL – Master dan Slave untuk load balancing.

1 Server SphinxSearch – untuk indexing post nya arsip berita dikarenakan banyak pengunjung yg menggunakan fitur search untuk mencari berita.

Optimisasi apa aja yang sudah dilakukan untuk Arsip Berita?

  1. Menggunakan Wp-Super-Cache untuk static page caching.
  2. Menggunakan Percona/MariaDB build untuk MySQL-nya dan engine data xtraDB.
  3. Menggunakan custom auto Tag plugin berdasaarkan most relevant keyword yang ada di dalam konten berita-nya untuk membantu pengelompokan berita.
  4. Menggunakan Wp-Minify untuk menghemat bandwidth dengan cara menghilangkan extra white-space di dalam html yg ditampilkan ke user.
  5. Menggunakan FreeBSD dan Linux untuk OS Server 🙂
  6. Tweaking macem2 config dan system file berdasarkan trial-n-error sampe dapet hasil yang maksimal.
  7. Tweaking dan modifikasi wordpress core supaya lebih responsif ketika sudah mempunyai post yang besar.

Apache Benchmark Result:

debian:~# ab -n 10000 -c 10 http://arsipberita.com/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking arsipberita.com (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests

Server Software:        Apache/2.2.11
Server Hostname:        arsipberita.com
Server Port:            80

Document Path:          /
Document Length:        50291 bytes

Concurrency Level:      10
Time taken for tests:   4.727 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Total transferred:      506790000 bytes
HTML transferred:       502910000 bytes
Requests per second:    2115.41 [#/sec] (mean)
Time per request:       4.727 [ms] (mean)
Time per request:       0.473 [ms] (mean, across all concurrent requests)
Transfer rate:          104694.34 [Kbytes/sec] received

Connection Times (ms)
min  mean[+/-sd] median   max
Connect:        0    0   0.1      0       3
Processing:     2    4   1.1      4      20
Waiting:        1    2   0.9      2      18
Total:          2    5   1.1      4      21

Percentage of the requests served within a certain time (ms)
50%      4
66%      5
75%      5
80%      5
90%      6
95%      6
98%      8
99%      9
100%     21 (longest request)

Ya udah segini aja dulu ceritanya, kalau mau coba performa Arsip Berita, langsung aja ke ArsipBerita.com.

PS: Server Arsip Berita ada di Indonesia, bottle-neck nya cuman bandwidth international nya aja yg terbatas jadi kurang wuus2 kalo di akses dari luar negeri 😦

UPDATE 11/10/2013
Project-nya udah mati karena gue udah kerja di tempat lain.

Advertisements