Tuesday, August 25, 2009

Optimizations solve the problems!!!

Yes, sometimes when you are going to develop a program or any solution, you put set of assumptions and start building on these assumptions, after finishing development then testing and if everything is ok you assume your application does not need any kind of optimization as it performs well!! till your assumptions broken!! "ooh shit, may it happen!?", sure see the following real case.
One month ago my friends in another company faced a big problem, as they have a real time service that supports around 200 users, the system was working perfectly without any problem till they made promotion for set of customers without testing the maximum capacity their service can support!!!

around 1000 users tried to use the service, at that point the service could not respond to other customers and it was fully utilized!!!

So I joined them and started digging into, to see what is the cause of the problem as they have a lot of components.
We found that they have an old ASP.NET 1.1 web sevice that is being used most of the time from all of the clients, around 80% it was the source of the problem.
We started running ASP.NET performance counter to see the number of requests and queued requests as these are good indicator for the problem, then we started running the profiler to find the method that consumes most of the time!!!

catch me next post