Session 11
Top Ten ASP.NET Scaling Tips
"I just want to give you a brief biography of my career before we start" exclaimed an incredibly fired up and annoyingly confident Stephen Forte. Now I don't mind larger than life characters, in fact, part of me wishes that I could shout a bit more about my achievements. But I am not sure what reaction someone is fishing for when they trot out line after line of self congratulation. At one point I felt like grabbing the mike and saying "listen Steve, I am really pleased that you have done so well in life that you don't need to work again. Your brilliant" and have done with it. Sorry for the rant. Actually, probably not wise to work on the blog this late in the evening after a tiring day so i'm going to sign off.
The session was billed as an open Q&A session and Stephen did his best to rouse the crowd in his own distinct way. A big problem with the interactive sessions at TechEd is that the room layout does not really promote or encourage interaction. I suggest the organisers watch a couple episodes of Jeremy Kyle to identify the core requirements:
- Seating arranged in a raised crescent format.
- Speaker moving back and forth between stage and seating area.
- > 1 microphone
Stephen started by defining scalability:"if you can add more workload to a system without increasing the cost of the system per unit of workload." So I guess that ramping up the number of users is only half of the equation. The other half means doing so without increasing the cost per user.
At this point a delegate asked Stephen "exactly how do you measure scalability?" which is fair enough as this is an interactive session right. Apparetly, you work out your total system costs in Excel. You then figure out your variable costs and put these into the spreadsheet also. You then look at your transaction volume. A transaction in this context may be a business process as well as a financial transaction. You finally determine a cost for this transaction and divide the overall system cost by this transaction cost. As easy as that!
In discussing performance, the speaker took us through an equation he has been working on. For all you mathematicians out there here it is:
Legend:
- R - Response Time.
- RTT - Round Trip Time.
- AppTurns - HTTP Requests.
- ConcurrentRequests - The number of server sockets open by the browser.
- Cs - Server side compute time.
- Cc - Client side compute time.
Stephen hammered home the following point:
"performance, extensibility and reliability need to be at the forefront of your mind when developing applications. You cannot throw expensive hardware at a non-scalable system in a hope of making that software more scalable. Instead, all you get is really expensive non-scalable software."
Now one particular delegate was not about to accecpt this point of view and challenged Mr Forte enthusiastically. The speaker attempted humour in order to deflect the difficult situation but the challenger was undeterred. After a few more attempts to extract an agreeable answer from the speaker, the challenger left the hall disatisfied (well that was my observation).
The final few minutes were spent discussing priority and sticky based load balancing.
A somewhat disjointed but never the less, entertaining session.
No comments:
Post a Comment