นั่งดูผลจาก ab (ApacheBench) แล้วสลดหน่อยๆ
$ ab -n 50 -c 10 http://kitty.in.th/
...
Total transferred: 696250 bytes
HTML transferred: 688300 bytes
Requests per second: 6.02 [#/sec] (mean)
...
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 20 47.0 0 151
Processing: 1107 1586 467.3 1356 2586
Waiting: 1069 1551 467.5 1322 2546
Total: 1258 1606 469.7 1359 2623
Percentage of the requests served within a certain time (ms)
50% 1359
66% 1444
75% 1513
80% 2380
90% 2577
95% 2586
98% 2623
99% 2623
100% 2623 (longest request)
หลักๆ เป็นเพราะ wiki-to-html มัน render on-demand (เอา wiki text มา render ทุกครั้งที่มี request) มันก็ช้าอะดี เลยแก้ code ใหม่เป็นแบบ pre-render HTML เก็บลงใน database แทนการ ผลที่ได้ ..
$ ab -n 50 -c 10 http://kitty.in.th/
...
Total transferred: 696250 bytes
HTML transferred: 688300 bytes
Requests per second: 35.25 [#/sec] (mean)
...
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 26 52.5 0 210
Processing: 41 248 80.5 247 414
Waiting: 6 211 80.4 215 381
Total: 200 274 65.6 253 454
Percentage of the requests served within a certain time (ms)
50% 253
66% 268
75% 278
80% 353
90% 399
95% 414
98% 454
99% 454
100% 454 (longest request)
6.03 requests / sec กับ 35.25 requests / sec. ..
space-time tradeoff = เร็วขึ้นเกือบ 6 เท่า แลกกับพื้นที่เก็บอีกเท่ากว่าๆ .. :)