Drupal -> WordPress
Så blev jeg træt af Drupalsoftwaren. Ikke at Drupal ikke er et godt system, det er det bestemt, super performance og så findes der udvidelsesmoduler til alt hvad hjertet begærer, men backenden i WordPress ER altså bare en smule mere lækker og velfungerende, ikke mindst editoren.
Mit problem med WordPress og grunden til at jeg ikke installerede det fra starten, er at WordPress ihvertfald lige på et enkelt sted i koden er skrevet lidt uheldigt. I standard installationen af WordPress kan man ikke bruge de cachingfeatures som Zend Platform tilbyder. Jeg har dog nu fundet ud af at problemet kan løses ved at rette i en enkelt fil i WordPress installationen, så det er jo til at overskue.
Så mangler du en highperformance WordPress installation, er opskriften her.
Alle exit; statements i wp-includes/template-loader.php skal erstattet med return;
Har du en shelladgang til din WordPress server kan det gøre så simpelt som:
sed -e 's/exit;/return;/' wp-includes/template-loader.php > tmp.php
Check at filen ser rigtig ud og erstat derefter den eksisterende template-loader.php med tmp.php.
Har du kun FTP adgang til din installation, så må du igang med at lave lidt search&replace med en teksteditor.
Nogle performancetal
Før, uden Zend Platform caching
/usr/local/apache/bin/ab -c 20 -n 1000 http://henrik.schack.dk/
Concurrency Level: 20
Time taken for tests: 119.107 seconds
Complete requests: 1000
Failed requests: 0
Broken pipe errors: 0
Total transferred: 21888960 bytes
HTML transferred: 21603540 bytes
Requests per second: 8.40 [#/sec] (mean)
Time per request: 2382.14 [ms] (mean)
Time per request: 119.11 [ms] (mean, across all concurrent requests)
Transfer rate: 183.78 [Kbytes/sec] received
Efter, med Zend Platform caching
/usr/local/apache/bin/ab -c 20 -n 1000 http://henrik.schack.dk/
Concurrency Level: 20
Time taken for tests: 18.481 seconds
Complete requests: 1000
Failed requests: 0
Broken pipe errors: 0
Total transferred: 22009040 bytes
HTML transferred: 21691345 bytes
Requests per second: 54.11 [#/sec] (mean)
Time per request: 369.62 [ms] (mean)
Time per request: 18.48 [ms] (mean, across all concurrent requests)
Transfer rate: 1190.90 [Kbytes/sec] received
Hertil kommer at under “før” testen havde serveren et load-average på ligeomkring 20, den var med andre ord ualmindelig hårdt belastet. Under “Efter” testen lå load-average på omkring 0.30