views:

39

answers:

2

I got experience in ASP.NET application development. Now I want to develop my own application that should support huge traffic and it should be scalable. My site publishes news, videos and images.

Having already experienced in ASP.NET, whether it is fine to go with ASP.NET or Google AppEngine is good for building scalable application? To move with Google AppEngine, I need to learn entire concepts from the scratch.

Please suggest me whether ASP.NET support will support to process heavy page requests or not.

+3  A: 

asp.net can handle the traffic just fine. Technically speaking, most modern languages whether .net, java, php, etc will take care of high loads. The differences between them regarding execution speed is minimal.

That said, the number one issue of performance has to do with the programmer. If they don't understand how all of the parts really work together, things to avoid, things to do, etc then the app, regardless of language, will not scale.

Seemingly trivial things, like data paging, can absolutely kill performance if you don't really think about it and do it right. And "right" in this case does NOT involve pulling all the records from the database to the web server, picking out the ones you want, and sending those down the client... as a fair number of ORMs want to do.

Incidentally, you might check out one of the cloud services where you are paying for processing power instead of machines.

Chris Lively
+1 so true: "the number one issue of performance has to do with the programmer"
eglasius
+1  A: 

As Chris said, it'll be impacted a lot more with how you build it.

I'm not saying its the case, but if you've been neglecting knowing well any piece you have used, it'll be the time to stop. Otherwise you'll likely run into issues.

Now, more onto specific hints:

  • videos, images and any static files. If these are all public & static content, I suggest you use a content delivery network. These will get all those out of your server freeing it to do a Lot more work. This will also put the content closer to your users / if you have a global audience that is (even a national audience could benefit of some CDNs depending where you are). One of these is amazon's cloudfront.
  • use a cloud service to host your site. Learn about it well, so you are sure you are making effective use of all the pieces involved / and know what to expect when you need more advanced features.
  • don't rely on the in memory session, and keep the data in session to a minimum.
  • pay attention to page size / along with its related resources.
  • reduce the number of requests involved to serve a single page i.e. lots of separate images, css and js files.
  • reduce the number of database roundtrips per request. Make sure your queries respond well when there is plenty of data in there.

ps. chances are that by caring about performance all around you don't really need any of the advanced stuff (after moving the static files out of your server).

eglasius
+1, great info.
Chris Lively