Wrox Programmer Forums

Need to download code?

View our list of code downloads.

Go Back   Wrox Programmer Forums > Java > Java Open Source > Hibernate
Password Reminder
Register
Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read
Welcome to the p2p.wrox.com Forums.

You are currently viewing the Hibernate section of the Wrox Programmer to Programmer discussions. This is a community of tens of thousands of software programmers and website developers including Wrox book authors and readers. As a guest, you can read any forum posting. By joining today you can post your own programming questions, respond to other developers’ questions, and eliminate the ads that are displayed to guests. Registration is fast, simple and absolutely free .
DRM-free e-books 300x50
Reply
 
Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old November 15th, 2005, 06:07 AM
Registered User
 
Join Date: Nov 2005
Location: Wroclaw, , Poland.
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Default Sql Server 2000 vs Oracle 9i - performance problem

Hi everyone,
I would like to direct my question especially to people having some experience with Hibernate and Spring frameworks.

Short problem description:

We have created Spring web application using Hibernate and working with Oracle 9i database (with Spring support for Hibernate mapping).
Everything works great, performance is very high ( database read and write operations times are very short ).

Our problems began when we tried to adapt our application to work with Sql Server 2000 database.
Theoretically, we had to do only a few modifications in our application code (changing some Hibernate mapping files).
From the functionality point of view application works just like with Oracle 9i database but the performance has decreased 10 times !!
We loged execution times of every main operation using Spring Interceptor class.
Sequence of writing and reading 3 groups of objects (3 Hibernate flush and 3 refresh operations ) take 3 seconds for Sql Server 2000 databse while the same operations for Oracle 9i take 300 ms !

Some info about software that we use:
1. Spring ver. 1.2.3
2. Hibernate ver. 3.0.5
3. JDBC drivers for Sql Server:
    We tried many drivers (list below) but in every case there was no performance improvement:
    - INET Merlia TDS
    - jTDS (sourceforge.net) 1.1 i 1.2
    - Microsoft driver for MS Sql Server 2000,
    - Microsoft driver for MS Sql Server 2005 beta 1, beta 2
4. DataSource and pooling
    We use our own DataSource and Pooling class implementations ( we tried also Microsoft solutions but it didn't change anything ).


Based on performed tests we rejected following issues as cause of performance problem:
1. Implementation of Sql Server 2000 - in generall Sql Server is faster then Oracle; we analysed sql statements execution times using Sql Profiler.
Execution times were short but there were "time gaps" between each statement execution.
2. JDBC driver - we tested many drivers, many driver parameters combinations but the performance wasn't changing at all.

Our suspicions about cause of Sql Server 2000 performance problems:
1. Hibernate - we tested statements execution times using "pure" JDBC (for the same statements as with Hibernate)
and SQL Server 2000 worked faster than Oracle 9i... so our first suspect was Hibernate
2. Spring with web components - we examined times of execution JUnit tests (
tests using Spring mechanisms - AbstractTransactionalSpringContextTests and tests using "pure" Hibernate without Spring).
Execution times for Sql Server 2000 and Oracle 9i were equal. Based on these results we suppose that performance problems can be contected with Spring filters, Spring interceptors creating sessions or transaction servicing mechanisms.

We know that it is hard to figure out problem solution based on our summary information but we hope that somebody encountered already the same problem.
Thanks in advance for any ideas.

Reply With Quote
  #2 (permalink)  
Old January 27th, 2006, 11:31 AM
Registered User
 
Join Date: Jan 2006
Location: , , .
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Default

We feel the same pain here. Ours is a web app using Tomcat 5.0.28, Hibernate 3, SQL Server 2000 and jTDS JDBC driver. We experienced very bad performance but stumbled upon a work-around. We pounded the SQL Server through the web app by JMeter and then run

sp_MSForEachTable 'Update Statistics ? with FullScan'

And all of a sudden, the SQL Server was flying again.

However, this even puzzled me more as I observed the thing as you do. In raw SQL, the performance was great. It was wrong only through the app, i.e. through Hibernate. And the cpu utilization of SQL server went sky high when the performance was wrong. But if it's Hibernate that was wrong, why would SQL server CPU went sky high. It should be the Tomcat's cpu went sky high! Right?

And one final observation was that the SQL server didn't perform whenever it was rebooted. I have to pound it and run update statistics before it would fly again.

Can anyone solve this mystery?

Reply With Quote
  #3 (permalink)  
Old January 27th, 2006, 12:10 PM
Registered User
 
Join Date: Nov 2005
Location: Wroclaw, , Poland.
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Hi shampeter,

I think that we found the cause of SQLServer performance problem ... with a help from Hibernate forum users.
The source of this problem is discussed at address: http://forum.hibernate.org/viewtopic...271698#2271698
I hope that it will help solve SQLServer-Hibernate performance puzzle ;)

Best Regards,
sniegu

Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Problem while running IIS 6 with Oracle 9i Hidayatullakhan Oracle ASP 0 September 16th, 2007 04:43 AM
How to install ORACLE 9i on Win - 2000 sabyasachib Oracle 0 May 24th, 2006 05:30 AM
Help -- About Oracle 9I and Tuxedo Performance jamestong Oracle 0 May 19th, 2005 03:11 AM
Difference between Oracle 8i and SQL Server 2000 ramk_1978 SQL Language 1 December 28th, 2004 01:25 AM
I have problem connecting to SQL Server 2000 sp3 ctanchan SQL Server 2000 0 September 11th, 2003 07:35 PM



All times are GMT -4. The time now is 11:18 PM.


Powered by vBulletin®
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
© 2013 John Wiley & Sons, Inc.