Re: [OJB-developers] "performance" target results against MySql
Brought to you by:
thma
From: Thomas M. <tho...@ho...> - 2002-03-03 14:40:13
|
Hi Jakob, thanks for your My-SQL crosscheck! Your measurements look much more coherent than Ricardos. Jakob Braeuchi wrote: > hi, > > here are my performance results against mysql and ms-access. > where do you get the jdbc-results from ? > I think you are not using the latest build.xml. As of 0.7.343 it contains additional stuff under the performance target. (The tests should be executed 3 times and there should be executed a [ojb] and a [jdbc] version. Please send me your complete test results again! Thomas > jakob > > ----- Original Message ----- > From: "Thomas Mahler" <tho...@ho...> > To: "Ricardo Arg=FCello" <ri...@ya...> > Cc: "Florian Bruckner" <bf...@fl...>; "ojb" > <obj...@li...> > Sent: Thursday, February 28, 2002 4:20 PM > Subject: Re: [OJB-developers] "performance" target results against MyS= ql > > > >>Hi Ricardo, >> >><snip> >> >>Your performance results look really bad. To give you an impression th= at >> this is not typical for OJB I have attached a zipped html document >>containing 3 tables. >>The tables contain: >>1. your testresults >>2. my test against MS Access >>3. my test against HSQLDB >> >>The Result for HSQLDB are a bit distorted as HSQBL does most things >>inmemory. That's why it is so fast. But that's also why the OJB versio= n >>is not that much slower (in absolute numbers) but the ratio is still 4= 5% >> >>For MS-Access you see a more "classic" OJB effect. Native JDBC is not >>very fast. OJB is slower. But at a very reasonable ratio: 19% >> >>My experience with DB2 and ORACLE are similar, but I currently have no >>numbers available. >> >>That's why I'm really shocked by your tests. >> >> >>I have only a few possible explanations: >>1. There have been changes between 0.7.314 (the version I used) and >>0.7.343 (your version) that had major impacts on performance. I had so= me >>few runs on my machine that show that this isn't the case. >> >>2. The JDBC driver. People have often told me how fast MySql is. But >>when I see the results of your native JDBC tests I think it's rather >> > slow... > >>Maybe that other internal problems of the MYSQL JDBC driver lead to su= ch >>exorbitant results. >>Maybe OJB uses certain features that are not well supported. >> >>Maybe it's a good idea to share experiences with other MYSQL / OJB use= rs >>to share their findings and insights. Everyone is invited to post his >>performance test results! >> >>I am a bit surprised about the bad performance for primary key based >>look up (querying1 and 2). Are you sure there is a primary key defined >>for the table ? >> >>3. OJB has become slow. As you can see from my tables OJB is not "slow= " >>in general. OJB has been carefully performance tuned in the past. >>But we have implemented a lot of new features that almost all have >>performance impacts. >> >>After finishing all 1.0 features I want to have a complete code >>walkthrough to implement performance improvements. >> >> >> >>> >>>The results show that direct JDBC is 62.7% faster than OJB (against >>> > MySql): > >>> [ojb] Time: 1,393.023 >>> [jdbc] Time: 874.658 >>> >>> >>>I think I found my problem.... >>> >>>:-( >>> >>> >> >> >>Mh, as mentioned above I don't believe that OJB is the only problem. >> >>I'd like to discuss about aceptable performance. Which factor would be >>acceptable for you. >>(For me even the native JDBC variant is definitely too slow). >>20%, 40% ? >> >>It's absolutely clear that an O/R layer (regardless which concrete >>product) *will allways* be slower as handcoded JDBC. >> >>You get a lot of programming ease and pay it with performance. Period. >>Of course we will work hard to minimize this overhead. >> >>I have written the performance testsuite to make people aware of the >>performance impact they have for their specific environment. >> >>I'm planning to provide a document on the performance TestSuite to hel= p >>people understand all the numbers. >> >>best regards, >> >>Thomas >> >> >> >>----------------------------------------------------------------------= -- >> >>hardware : amd duron 750 , 392 mb ram >>os: win2k >>jdk: 1.4.0 >>ojb: 0.7.343 >> >>db: mysql 3.23.49 >>jdbc: mm.mysql driver 2.0.11 >> >>[BOOT] INFO: OJB.properties:=20 file:/D:/Java/eclipse_0228/workspace/ojb-1-0/build/classes/OJB.properties >>.[performance] INFO: >>[performance] INFO: inserting 10000 Objects: 19348 msec >>[performance] INFO: updating 10000 Objects: 19548 msec >>[performance] INFO: querying 10000 Objects: 25386 msec >>[performance] INFO: querying 10000 Objects: 24465 msec >>[performance] INFO: fetching 10000 Objects: 2072 msec >>[performance] INFO: deleting 10000 Objects: 12328 msec >>[performance] INFO: >>[performance] INFO: inserting 10000 Objects: 17525 msec >>[performance] INFO: updating 10000 Objects: 18807 msec >>[performance] INFO: querying 10000 Objects: 24305 msec >>[performance] INFO: querying 10000 Objects: 22973 msec >>[performance] INFO: fetching 10000 Objects: 1833 msec >>[performance] INFO: deleting 10000 Objects: 12188 msec >> >>Time: 201.891 >> >>OK (1 tests) >> >> >>db: ms-access 2000 >>jdbc: jdbc-odbc bridge of jdk 1.4.0 >> >>[BOOT] INFO: OJB.properties:=20 file:/D:/Java/eclipse_0228/workspace/ojb-1-0/build/classes/OJB.properties >>.[performance] INFO: >>[DEFAULT] WARN: problems with platform=20 ojb.broker.platforms.PlatformMsAccessImpl:=20 ojb.broker.platforms.PlatformMsAccessImpl >>[DEFAULT] WARN: OJB will use PlatformDefaultImpl instead >>[performance] INFO: inserting 10000 Objects: 20048 msec >>[performance] INFO: updating 10000 Objects: 27380 msec >>[performance] INFO: querying 10000 Objects: 19808 msec >>[performance] INFO: querying 10000 Objects: 18717 msec >>[performance] INFO: fetching 10000 Objects: 2784 msec >>[performance] INFO: deleting 10000 Objects: 16473 msec >>[performance] INFO: >>[performance] INFO: inserting 10000 Objects: 20860 msec >>[performance] INFO: updating 10000 Objects: 28251 msec >>[performance] INFO: querying 10000 Objects: 18366 msec >>[performance] INFO: querying 10000 Objects: 241 msec >>[performance] INFO: fetching 10000 Objects: 2724 msec >>[performance] INFO: deleting 10000 Objects: 17625 msec >> >>Time: 194.67 >> >>OK (1 tests) >> |