1

We have a major issue with our load balance web servers. If we have IIS logging turned on for our biggest websites, it bogs the servers down so much that most of our requests timeout. As soon as I turn the logging off, the server run fine again. What are some plausible solutions to being able to have logging for our web traffic and not have this bottleneck?

We have 2 load balance VMWare virtual servers running Windows Server 2003 and IIS 6 that handle just our websites/web traffic and nothing else (database and mail are on different servers).

EDIT: One wrinkle I forgot is that the files are saving to separate file server which is attached to a NAS.

Jeremy Sullivan
  • 135
  • 1
  • 7

5 Answers5

3

If all you care about are the actual pages (HTML, ASPX, etc.) that are being accessed, then perhaps move your other static resources (images, css, js) to separate folders -- if they aren't already segregated -- and then disable logging for those folders. Since each web page usually loads multiple other static resources, you may be able to reduce your logging activity considerably while still logging access to the pages you care about.

Chris W. Rea
  • 1,166
  • 1
  • 12
  • 18
  • It would have been more helpful if you explained how to reduce logging to only the pages you care about... – Dscoduc Jun 16 '09 at 18:00
1

Is the server logging to the same disk as the sites are being served from? You might check to see what your average disk I/O times are looking like with logging enabled. Shifting the writes to another drive may help speed things up.

Justin Scott
  • 8,798
  • 1
  • 28
  • 39
  • Oh!!! One wrinkle I forgot is that the files are saving to separate file server which is attached to a SAN. – Jeremy Sullivan Jun 16 '09 at 00:18
  • 3
    The latency over the network to the SAN is likely your bottleneck. Can you try logging to a local disk for a short period to see if that improves performance? – Justin Scott Jun 16 '09 at 00:55
  • Yes, moving the files to the local disk resolved the latency, but now, I have two different log files. *shrug* I'm a developer, not a hardware guy. :) – Jeremy Sullivan Jun 17 '09 at 01:29
1

You could consider limiting what is being logged in IIS. For example, suppose you don't need to log the access to every image file, script file, or whatever. There is an option in IIS 6 to limit what gets logged:

Limit what gets logged in IIS

and doing the same in IIS 7 is a little different:

Limit what gets logged in IIS 7

I implemented this on my web server, removing images, scripts, and some misc handlers and noticed the log size was about 75% smaller than before. Obviously when doing this you are unable to see entries in the log files for excluded items, but I was mainly concerned with page access.

Dscoduc
  • 1,095
  • 2
  • 8
  • 15
0

I've read in the comments that you are logging to a SAN. To confirm if the SAN's latency characteristics are causing the issues, try logging to the hard drive for a day.

Kyle
  • 1,859
  • 2
  • 17
  • 23
0

You should carefully examine your storage, probably its write performance is inadequate. You can also check what RAID level is being used. If it is RAID 5, you should consider going to a faster array like RAID 10, 01, 10E. You might also consider creating a separate RAID volume just for the logs, so that it does not interfere with IIS operation.

Besides, your are probably confusing NAS and SAN. Those are different technologies performance wise. If you are indeed using NAS, you should think twice, as this technology is not always suited for high I/O load.

Taras Chuhay
  • 645
  • 3
  • 9