My company is upgrading the app/web server from Windows 2003 to Windows 2008 (mainly because hosting companies don't offer 2003 anymore, and we need new hardware to gain performance).
Our app is written in Delphi (CGI modules), and the database is (this is kind of embarassing) DBF files.
Our old server is:
- Windows 2003 Web SP2 (IIS6) - 32 bit
- 2 GB RAM
- Intel Xeon CPU 3040 @1.86GHz (Dual Core)
- 250 GB SATA RAID 1 hard drive
The new server is:
- Windows 2008 Web R2 (IIS7) - 64 bit
- 4 GB RAM
- Intel Xeon CPU 3320 @2.50GHz (Quad Core)
- 500 GB SATA RAID 1 hard drive
The app mainly needs high read speeds, since we have to secuentially loop over the tables to load the information (yes, we use indexes to find positions).
The production server load is normally below 5 requests per second (quite few), except when google is indexing (up to 10-20). Sometimes the requests take some time (searchs, sales listings...).
PROBLEM: We are having serious performance issues. The new server works fine, but requests now need as much as double the time to complete. The bad thing is that the 4 cores appear to be quite idle during execution.
I enabled 32 bit apps in the application pool. I have tried creating a web garden (with 4 worker processes), and launching 4 simultaneous, cpu intensive CGIs, but the old server still beats the new one. I have tried to increase the priority of the worker processes, it made no difference.
Does anybody have an idea of what can be happening, and what I can do to improve performance on the new server?
(besides rewriting our app, obviously)
Thanks in advance!