Saturday
Oct272007
.Net2 and AJAX scalability?
Saturday, October 27, 2007 at 4:11AM
Am I mad to consider using .Net2 and AJAX for a high-scalability application? In case you wonder why, it's the legacy of a website built on IIS and .Net 1.1, and we're looking for ways to make the content more attractive and interactive. In this case, it's a medical image library being shared by a few Wikis and online coursework for medical students ( < 15K users) and doctors ( < 150K users)
But I'm worried about the performance overhead. We already have a performance problem because of personalising the content for users according to their type (student or doctor), and for doctors, their grade and speciality.
But I'm worried about the performance overhead. We already have a performance problem because of personalising the content for users according to their type (student or doctor), and for doctors, their grade and speciality.
Reader Comments (3)
I don't think the choice of .net/php/java matters that much for scalability. Scalability is more about architecture and performance is more about the language choice. But I have no experience with .net so I can't be of much help. The personalized page issue will be a problem regardless. Instead of one unpersonalized cache you will need a cache for each particular display contour, which means you need a lot more cache than you would otherwise, but that's just what you'll need to do.
Omar Al Zabir, one of the PageFlakes programmers, states that the ASP.NET Ajax framework does cause some scalability concerns. He recommends that some things should be built from scratch besides using all functionality from the ASP.NET Ajax framework.
I am a beginner programer on ASP.NET, so there's not much I can tell you comming from my personal experience. You could read Omar's arcticle about using ajax functionality with asp.net on http://www.codeproject.com/KB/ajax/MakingGoogleIG.aspx
Look for the topic named "How slow is ASP.NET AJAX".
Hope it helps,
Marcelo Szwarc
I would suggest using ASP.NET 2.0 or 3.5 over other technologies. The only issue is this:
Using free tools like VWD enables someone to create a very functional, dynamic site very quickly e.g. chucking a sqldatasource on the page, implementing paging and then databinding it. This is all well n' good, but in practise this design will not scale well. So, using the example above, a sqldatasource control will query an entire set of data each time a user clicks a number to view more data. So a table on a page might only display 6 rows, but when you click '2' or next or whatever to move to the next page of rows, the sqldatasource will call the entire set of results again, instead of just the next 6 records.
HOWEVER, if you take the time to actually learn best practises - how to do stuff in code (there are many resources out there and brilliant authors like Scott Mitchell, Scot Gu and Cristian Darie, to name a few) you will be able to get a very, very high level of performance from .NET. MySpace now use .NET behind the scenes for most of their operations and have reduced their server usage - you can find more about this if you google it.