Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

Situation

We have 10 to 20 Tomcat web applications with hundreds of concurrent users per application on a server.

Each Tomcat application connects using its own user to a database on Microsoft SQL Server 2008 R2 server. This database contains loads of Stored Procedures that are executed by the Tomcat application. The Stored Procedures usually execute large joins between multiple tables (usually joins between 4-5 tables with each 100k+ records)

Currently this runs on 32-bit Windows 2008 R2 (Enterprise) with 32-bit Tomcat and 32-bit SQL Server 2008 R2. The Servers have 32 - 64GB of RAM on a multi-core processor.

Question

My gut feeling tells me we should update to x64. This will future-proof and prevent some memory issues now that might be better handled in an x64 environment. I can't find benchmarks or proof for this though. Using flags like /AWE and /PAE feels like SQL Server is artificially trying to perform better than it would out of the box, whereas this artificial layer is not necessary in the x64 environment. I can't find any "proof" for this though.

Is it worth updating this configuration to x64? Will we see a performance gain? How much? Are there benchmarks supporting this?

share|improve this question
    
Please edit this to be more constructive. Asking "worth it" is subjective at best. State your goals and what you are trying to achieve and then how moving to a 64 bit environment can help you achieve those goals. –  casperOne Oct 9 '12 at 13:36
    
I don't really see how else it can be "worth it" than in performance increase. Financially there's no difference between the two options and the cost of migrating from one environment to the other will of course be weighed. But that's out of scope of this question. The goals are to get better performance, for example by better memory usage. Hardware can make a difference, of course, but my question here is whether a switch to 64 bits (based on the same hardware) also makes a difference. And if so, how much. –  bartlaarhoven Oct 9 '12 at 13:49
add comment

migrated from stackoverflow.com Oct 9 '12 at 13:35

This question came from our site for professional and enthusiast programmers.

1 Answer

up vote 1 down vote accepted

Well, memory management will be much better in a 64bit platform. This is because all the memory is real memory and there's no concept of extended memory any more.

This means that you can now have much more than 1 Gig of execution plans in memory at any one time. If you've got lots of stored procedures you are probably generating new plans for queries all the time because you can't store all the plans in memory.

Granted this ability to grow the plan cache beyond 1 Gig will take away from the buffer pool, so that's something to keep in mind (no you can't control how big the plan cache is).

Joins of 4-5 tables with 100k records each isn't all that scary. When you get into the 100M range that's when things start to get more interesting.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.