I have just configured my C# multi-threaded application from 32 bit to 64 bit platform for getting more memory support. But my application runs up to 40 - 50% slower as compared to 32 bit platform.
The overall idea about the multithreaded application is, we do recalculation for server hundred thousand records available in the database. Fetch the records from the table and do the recalculation finally it will update it into the table.
Earlier we had the following sever configuration as bellow
OS- Windows 2003 server 32 bit version
SQL - SQL Server 2005 Enterprise Edition for 32 bit version
Now we changed to the latest version
OS- Windows 2003 server 64 bit version
SQL - SQL Server 2008 Standard Edition for 64 bit version
The application was working fine and recalculated 3000 records per minute. But now after changing to 64 bit version it is calculating only 1200 records per minute.
I have tried with the following scenarios.
Changed to enterprise edition 64 bit version and tested - no improvement (memory utilization is high)
Page lock in memory in enterprise version and tested - no improvement (memory utilization is high).
Can you suggest where I need to concentrate to improve the performance? (OS Level / SQL Level /Application Level)