1
wishcraft
ADODb 0.24 - Advanced Database Peformance

Resized Image
ADODB 0.24 - Advance Database and Performance Enhancer
Community Sponsor - Chronolabs Co-op


ADODB 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 testing

Standard 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 athttp://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.zip
Sourceforge: xoops2.5_adodb_0.24.zip
Demo:http://xoops.demo.chronolabs.coop
Resized Image
www.ohloh.net/accounts/226400

Follow, Like & Read:-

twitter.com/RegaltyFamily
github.com/Chronolabs-Cooperative
facebook.com/DrAntonyRoberts

2
trabis
Re: ADODb 0.24 - Advanced Database Peformance
  • 2011/10/3 23:55

  • trabis

  • Core Developer

  • Posts: 2269

  • Since: 2006/9/1 1


Excuse my ignorance, but what is the difference between a mysql query produced
by "1996 database class" and the one produced by ADODb?

What do you think is the reason for better ADODb benchmark?

Thank you.

3
wishcraft
Re: ADODb 0.24 - In benchmark 1.08 the stats on a sleepy blade server. 16Gb

ADODB 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 testing

Standard 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): -- 0.38914394378700 -- (20 Test's)
Average Update All: -- 0.29676079750100-- (20 Test's)
Average Delete (Individual): -- 0.13175892829900 -- (600 Test's)
Average Delete All: -- 0.02685403823850 -- (20 Test's)
Average Alter Table: -- 6.87397503853000 -- (16 Test's)
Average Rename Table: -- 1.36775803566000 -- (60 Test's)
Average Smarty Render: -- 1.00343608856000 -- (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): -- 0.38914394378700 --
Maximum Update All: -- 0.29676079750100 --
Maximum Delete (Individual): -- 0.13175892829900 --
Maximum Delete All: -- 0.02685403823850 --
Maximum Alter Table: -- 6.87397503853000 --
Maximum Rename Table: -- 1.36775803566000 --
Maximum Smarty Render: -- 1.00343608856000 --
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): -- 0.06345319747920 --
Minimum Update All: -- 0.00524020195007 --
Minimum Delete (Individual): -- 0.00027585029602 --
Minimum Delete All: -- 0.06345319747920 --
Minimum Alter Table: -- 0.19068908691400 --
Minimum Rename Table: -- 0.00038409233093 --
Minimum Smarty Render: -- 0.00841498374939 -- Great Improvement shaved more than 0.6ms of the time of each look up!!!!
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): -- 3.55753850937000 --
Tests Took for Update All: -- 0.64790964126600 --
Tests Took for Delete (Individual): -- 0.78742003440900 --
Tests Took for Delete All: -- 0.04996681213380 --
Tests Took forAlter Table: -- 38.08730196950000 --
Tests Took for Rename Table: -- 4.18308091164000 --
Tests Took for Smarty Render: -- 1.96513366699000 --


You can make these statistics on a on minute cron with this benckmark 1.08 - Download: xoops2.5_benchmark_1.08.zip - 6.0Mbs


You can check out ADODB the PHP Library athttp://adodb.sourceforge.net

To install this simply download the files and replace them in the directory tree class folder.

Download: xoops2.5_adodb_0.24.zip
Sourceforge: xoops2.5_adodb_0.24.zip
Demo:http://xoops.demo.chronolabs.coop
Resized Image
www.ohloh.net/accounts/226400

Follow, Like & Read:-

twitter.com/RegaltyFamily
github.com/Chronolabs-Cooperative
facebook.com/DrAntonyRoberts

4
Mamba
Re: ADODb 0.24 - In benchmark 1.08 the stats on a sleepy blade server. 16Gb
  • 2011/10/5 3:58

  • Mamba

  • Moderator

  • Posts: 11366

  • Since: 2004/4/23


I am curious how the native PDO benchmark results will be...

Keep us posted...
Support XOOPS => DONATE
Use 2.5.10 | Docs | Modules | Bugs

5
wishcraft
Re: ADODb 0.24 - In benchmark 1.08 the stats on a sleepy blade server. 16Gb

Unforunately my apache doesn't have the PDO Library to test, it is not standard with apache and at least the services i am using, sorry only standard DB and ADODB no ADODB/PDO or PDO Standard..

Perhaps someone can rerun the bench testing for me.

If you would like to download our bench test in spreed sheet, use this link - XOOPS_2.5_Benchmark_STD_vs_ADODB.zip. (Link Adjuested)
Resized Image
www.ohloh.net/accounts/226400

Follow, Like & Read:-

twitter.com/RegaltyFamily
github.com/Chronolabs-Cooperative
facebook.com/DrAntonyRoberts

6
Mamba
Re: ADODb 0.24 - In benchmark 1.08 the stats on a sleepy blade server. 16Gb
  • 2011/10/5 13:37

  • Mamba

  • Moderator

  • Posts: 11366

  • Since: 2004/4/23


Quote:
Unforunately my apache doesn't have the PDO Library to test, it is not standard with apache and at least the services i am using, sorry only standard DB and ADODB no ADODB/PDO or PDO Standard..

My understanding is that PDO is shipping as part PHP, starting with PHP 5.1, so it should be on your server. Maybe you just need to enable it...
Support XOOPS => DONATE
Use 2.5.10 | Docs | Modules | Bugs

Login

Who's Online

118 user(s) are online (93 user(s) are browsing Support Forums)


Members: 0


Guests: 118


more...

Donat-O-Meter

Stats
Goal: $100.00
Due Date: Apr 30
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $100.00
Make donations with PayPal!

Latest GitHub Commits