ADODB 0.24 - Advance Database and Performance Enhancer
Community Sponsor - Chronolabs Co-opADODB is a PHP library available from sourceforge, this is not to be confused for the PHP Extension ADODB they are too seperate things. There is of course a major bottle neck in the current database library where this patch will improve performace upto 1000% with XOOPS 2.3, XOOPS 2.4 & XOOPS 2.5.
It has been awhile coming and we will have some benchmarking for you in the next day or two we are currently running the tests on our Blade Server with 16Gbs of Memory which has minimal load to get an accurate respository of exactly how ADO Db performs in the XOOPS Classes.
Some Benchmarking: (A Full Report to Follow soon in Excel 2007 Format)
Note: This bench testing is done on a shared Blade Server with 16GB used for IPTV, potentially the figures have been thrown by the occassional load on the server from crons and other system tasks; some of this testing is not direct database injection but instead using the XOOPS Classes Structures to better enhance the code execution testingStandard 1996 Database class:Average Create Table: 0.17227774262400 seconds (40 Test's)
Average Select from Table: 0.10626288652400 seconds (20 Test's)
Average Insert into Table: 3.54515728951000 seconds (20 Test's)
Average Update (Individual): 0.13025461435300 seconds (20 Test's)
Average Update All: 0.00989596843720 seconds (20 Test's)
Average Delete (Individual): 0.00109882275263 seconds (600 Test's)
Average Delete All: 0.00077251195908 seconds (20 Test's)
Average Alter Table: 1.40721149743000 seconds (16 Test's)
Average Rename Table: 0.02501308918000 seconds (60 Test's)
Average Smarty Render: 0.03921358585360 seconds (21 Test's)
Maximum Create Table: 2.51468610764000 seconds
Maximum Select from Table: 0.47155404090900 seconds
Maximum Insert into Table: 6.73046994209000 seconds
Maximum Update (Individual): 0.29396200180100 seconds
Maximum Update All: 0.01879382133480 seconds
Maximum Delete (Individual): 0.14146590232800 seconds
Maximum Delete All: 0.00111103057861 seconds
Maximum Alter Table: 2.92053914070000 seconds
Maximum Rename Table: 0.78347682952900 seconds
Maximum Smarty Render: 0.47892093658400 seconds
Minimum Create Table: 0.01050591468810 seconds
Minimum Select from Table: 0.02557611465450 seconds
Minimum Insert into Table: 1.65693902969000 seconds
Minimum Update (Individual): 0.07569193840030 seconds
Minimum Update All: 0.00518488883972 seconds
Minimum Delete (Individual): 0.00025391578674 seconds
Minimum Delete All: 0.00111103057861 seconds
Minimum Alter Table: 0.12055492401100 seconds
Minimum Rename Table: 0.00037193298340 seconds
Minimum Smarty Render: 0.00613808631897 seconds
Tests Took for Create Table: 6.89110970498000 seconds
Tests Took for Select from Table: 2.12525773048000 seconds
Tests Took for Insert into Table: 70.90314579010000 seconds
Tests Took for Update (Individual): 2.60509228707000 seconds
Tests Took for Update All: 0.19791936874400 seconds
Tests Took for Delete (Individual): 0.65929365158000 seconds
Tests Took for Delete All: 0.01545023918150 seconds
Tests Took forAlter Table: 22.51538395880000 seconds
Tests Took for Rename Table: 1.50078535080000 seconds
Tests Took for Smarty Render: 0.78427171707100 seconds
ADODB with standard MySQL Database class:Average Create Table: 0.00771573781968 seconds (40 Test's) - 2232.81% Improvement
Average Select from Table: 0.11102730698100 seconds (20 Test's) - -5% Improvement
Average Insert into Table: 3.84030112028000 seconds (20 Test's) - -7.68% Loss
Average Update (Individual): -- Tests still running -- (20 Test's)
Average Update All: -- Tests still running -- (20 Test's)
Average Delete (Individual): -- Tests still running -- (600 Test's)
Average Delete All: -- Tests still running -- (20 Test's)
Average Alter Table: -- Tests still running -- (16 Test's)
Average Rename Table: -- Tests still running -- (60 Test's)
Average Smarty Render: -- Tests still running -- (21 Test's)
Maximum Create Table: 0.24688816070600 seconds - 1018.55% improvement
Maximum Select from Table: 0.47188997268700 seconds - -0.08% Loss
Maximum Insert into Table: 14.23067998890000 seconds - 52.30% Loss
Maximum Update (Individual): -- Tests still running --
Maximum Update All: -- Tests still running --
Maximum Delete (Individual): -- Tests still running --
Maximum Delete All: -- Tests still running --
Maximum Alter Table: -- Tests still running --
Maximum Rename Table: -- Tests still running --
Maximum Smarty Render: -- Tests still running --
Minimum Create Table: 0.00022912025452 seconds - 4585.33% Improvement
Minimum Select from Table: 0.02932405471800 seconds - 12.78% Loss
Minimum Insert into Table: 2.26032400131000 seconds - 26.69% Loss
Minimum Update (Individual): -- Tests still running --
Minimum Update All: -- Tests still running --
Minimum Delete (Individual): -- Tests still running --
Minimum Delete All: -- Tests still running --
Minimum Alter Table: -- Tests still running --
Minimum Rename Table: -- Tests still running --
Minimum Smarty Render: -- Tests still running --
Tests Took for Create Table: 0.30862951278700 seconds - 2232.81% Improvement (Important this is based on totaity of tests)
Tests Took for Select from Table: 1.99849152565000 seconds - 106.34% Improvement (Important this is based on totaity of tests)
Tests Took for Insert into Table: 70.90314579010000 seconds - 7.69% Loss (Important this is based on totaity of tests)
Tests Took for Update (Individual): -- Tests still running --
Tests Took for Update All: -- Tests still running --
Tests Took for Delete (Individual): -- Tests still running --
Tests Took for Delete All: -- Tests still running --
Tests Took forAlter Table: -- Tests still running --
Tests Took for Rename Table: -- Tests still running --
Tests Took for Smarty Render: -- Tests still running --
You can check out ADODB the PHP Library at
http://adodb.sourceforge.net, it allows for database other than MySQL to be used. We will be doing bench testing on ADODB:PDO as well as standard PDO as well, once this is all done we will publish a news article.
To install this simply download the files and replace them in the directory tree class folder.
Download:
xoops2.5_adodb_0.24.zipSourceforge:
xoops2.5_adodb_0.24.zipDemo:
http://xoops.demo.chronolabs.coop