Dot Net Application Performance issue

Hi All,

This is a strange problem. Same dot net application, when run in two different servers it has huge performance differennce. see the server spec below.

Server 1: (Windows 2003, 3Ghz CPU Speed, 3GB Memory, RAID)
Server 2: (Windows 2003, 3Ghz CPU Speed, 1GB Memory, Single Disk)

both servers has local database.

Server 1 is 10 times slower than the Server 2. Strange part is Server 1 is a powerful server than the Server 2.

What setting in server 1 can cause this problem? is there anything to do with the registry?

Thanks for your help
Who is Participating?
2 Items:

1) What kind of RAID are you using? Windows RAID? or Fake RAID? These will drastically affect perfomance compared to a single disk machine

(Fake RAID == Hardware vendor too cheap to put any actual RAID firmware in thier cr*ppy cards; examples:
     Intel ICH5/6/7 SATA
     Silicon Image (medley) SATA
     Adaptec 1210SA SATA
     Promise TX2 SATA
     Promise TX4 SATA
     Promise SX4 SATA
     actually, Promise Anything = Fake RAID)

Since the CPU Is busiy pretending to be a RAID controller, IO will be about 2-3 time slower than single disks.
(Other experts: Prove me wrong)

2) Your memory may be suboptimal, try adding the 3GB Switch to your boot options
Literally, Systems in excess of 1 GB should have

     /3GB /USERVA=3030

Appended to the boot options file (boot.ini)

For more information refer to

Totally agree about fake RAID.

It does depend of the level of RAID required.

RAID 0 (mirroring only) can be quite effective for small servers. As there is no parity to be generated and reads can be spread across both disks, it can moderately improve performance. If you have a couple of big disks and don't need a huge amount of storage, it can work very well.

RAID 1 (striping only) is fine for overclockers, but should NEVER be used in a server environment.

RAID 5 (striping with parity) really warrants a dedicated controller, which doesn't load the processor with the task of generating parity information.

If you don't want to invest in a new RAID controller and you don't need a huge contiguous storage, reconfigure your RAID into several pairs of mirrored drives. If you have a database application it generally makes sense to put your data on one volume and your logs on another. If you have room, put your OS and swapfile on a seperate volume. Often seperating these onto different volumes can boost performance in itself. Although you'll lose out on storage compared to RAID 5, each drive will be mirrored giving you data redundancy.

RAID0 = Striping, fast read/writes, data is striped over multiple drives.   In *theory* faster than a single drive, in practice, you need multiple IDE controllers
or SCSI or SATA with tagged queuing (Last time I checked, SATA with tagged queuing was rare)
   - Incidentally, RAID 0 is quite doable on ancient IDE based systems since all systems came with 2 IDE controllers by default
RAID1 = Mirroring - theoretically can boost read performance, but since this is software RAID, no performance gain will be realized.
   - See above about old IDE.  Just don't expect it to win any races.
RAID5 - Striping with parity spread over multiple disks...the data reduncancy and disk efficiency override any speed loss (which is considerable).
  - so you were OK here.

Cute website describing RAID levels

Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

NadunsAuthor Commented:
hi Bill, lostcarpark:

Thanks a lot for your value feed back. I will throw these questions to our Hardware team and get a clear Idea about the RAID configuration.

I really appreciate your help.
Argh! You're quite correct, I mixed up RAID 0 and 1.

RAID 1 (mirroring) is worth considering even on a fully hardware RAID device. For example, seperating your database and logs onto seperate physical drives is recommended by most database vendors. This benefits in terms of both performance and reliability. In many cases a large drive provides more space than your database will ever need.

Obvioulsy this depends on the application - if you have a huge warehousing application you should probably be looking at SAN type storage. You need to look at how big your storage requirements are now, how best to break them down, and how much they'll grow over the next few years.

I should have mentioned its also worth looking at the disk drives themselves. There are exceptions, but most SCSI drives will knock the socks off most IDE or SATA drives in terms of both performance and reliability. Of course they will also cost considerably more, and a decent SCSI RAID controller may well set you back more than you paid for the rest of your server.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.