WYSIWYG

http://kufli.blogspot.com
http://github.com/karthik20522

Wednesday, June 20, 2012

Take Home Interview Question (s)

Question 1:

Overview:
We are having web server uptime problems and we observe that the web servers running .NET website crash on a daily basis. More specifically, a web server "crash" results in users receiving a “server unavailable” result or very long page load times exceeding 30 seconds. We observe that during this "crash" period the overall CPU utilization hits 100%, and specifically the .NET worker process uses 100% CPU utilization for an extended period of time (several hours) without recovering. Under normal conditions, CPU utilization on the web server is less than 5%. We notice that the first step is an increase in the CPU utilization to 20-25%. Then finally we see a step to nearly 90-100% CPU utilization. It is at this point that the website starts to perform very slowly. Our website runs .NET pages and receives about 20,000 visitors per day and 80,000-90,000 page views per day. We would like your help in recommending how to prevent this type of system crash.

System Details:
Windows 2003
IIS 6
Dual processor 3.0 Ghz processors
4 GB Ram

Observations:
1)We observe that web server processor utilization increases in a “step manner” over time across all of our webservers. The site performs very slowly when processor utilization reaches 50% and more. Y Axis on this graph and all the others is the % processor utilization.

Data source: IIS performance monitor


2) We observe that memory utilization increases marginally over a 16 hour period. See graph below.


3.We have also graphed Webserver utilization vs. DB utilization to see if there is some relationship between DB processor and Webserver processor utilization. While there is not a direct relationship, it may still be true that deadlocking is causing problems in our webserver.

Labels: , ,