Benchmark van DB Abstraction layers

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.

Testmethodiek

Voor een betrouwbare test werd in alle gevallen gebruik gemaakt van de in de databaselaag 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 die we kunnen trekken is dat de Zend erg goed uit de verf komt. Opzienbarend is dat het soms zelfs sneller is dan native PDO.

LinkedIn tips voor bedrijven Bird's eye in uw stad