I have been working on asp.net mvc3 e-commerce application based on NopCommerce.
Recently we have been working on performance side to improve the performance of the site. The site have more than 200000 products and 1200 categories and large no. of brands. This efforts has resulted into 20 to 200 times the performance increment, but still when bench marked against the e-commerce majors like, amazon, flipkart, jabong, letsbuy, ebay, shopping.indiatimes.com,etc it is still slower.
Now looking at just few sites, like Amazon, Flipkart & Jabong... Their page starts loading with almost zero waiting time, and images and other resources load almost instantaneously.
Also for search, Nop Commerce is dyeing slow, just look at the FlipKart & Jabong or Amazon, they very fast. No clue how? What do they do? Do they perform a search in db or something else?
My question is what do they do to have this kind of superb performance? I know they have load balancing servers with mem cached like memory implementation implemented to cache may be the entire site.
But what are the best practices for creating such large scalable web site? And how do they do it? Are any of them use any opensource e-commerce platform like nop commerce or magento as their base? Or do they all prefer custom made?
Would like to learn how to scale a web application like them with its best practices to implement. (Note that this is a general question and not a nop-commerce related one, it is one of the best e-commerce application we used till date.)
Thanks