Zoek op de website
naar Lab
Laan Corpus den Hoorn 100-1
9728 JR Groningen
t 050 210 12 00
f 050 318 05 30
info@iwink.nl
Routebeschrijving
neem contact met ons op

Support Support
050 210 12 02
support@iwink.nl

Benchmark van DB Abstraction layers

20 april 2008

Vrijwel alle dynamische webapplicaties maken gebruik van onderliggende databases. Communicatie met deze databases gaat meestal via een of meerdere "lagen". De snelheid daarvan kan bij database-intensieve applicaties van merkbare invloed zijn op de snelheid van de webapplicatie zelf. Het Lab heeft de snelheid van een aantal database abstractie lagen met elkaar vergeleken.

Testmethodiek

Voor een betrouwbare test werd in alle gevallen gebruik gemaakt van de in de database laag aanwezige typechecking en escaping, parameter binding en het vullen van een array van 25 records met 10 velden. Per page request werden 3 verschillende geparametriseerde queries uitgevoerd, die cachebaar waren met de MySQL query cache. Om zo dicht mogelijk bij het webgebruik te blijven, gebruikten we apache benchmark (ab) met 200 tests en een concurrency van 2. We hebben met en zonder een op-code cache getest - dat bleek van grote invloed op de uitslag.

De weergegeven cijfers zijn het aantal afgehandelde requests per seconde. Hoger is dus beter.
 

Met eAccelerator
Native PDO 9.6
Zend_DB 10.3
PEAR MDB2 5.7
PEAR MDB2-extended 4.2
Zonder eAccelerator
Native PDO 9.9
Zend_DB 8.0
PEAR MDB2 5.1
PEAR MDB2-extended 3.9

Zend erg snel

De conclusie is de Zend erg goed uit de verf komt. Opzienbarend is dat het soms zelfs sneller is dan native PDO.