电子商务网站的速度如此之快?

时间:2012-05-04 12:29:41

标签: performance architecture e-commerce scalability

我一直致力于基于NopCommerce的asp.net mvc3电子商务应用程序。

最近,我们一直致力于提高性能,以提高网站的性能。该网站拥有超过20万个产品和1200个类别和大型没有。品牌这项努力已经达到了20到200倍的性能提升,但仍然在与电子商务专业,如亚马逊,flipkart,jabong,letsbuy,ebay,shopping.indiatimes.com等标记时,它仍然较慢。

现在只关注几个网站,如亚马逊,Flipkart& Jabong ......他们的页面开始加载,几乎没有等待时间,图像和其他资源几乎瞬间加载。

同样对于搜索,Nop Commerce的染色速度很慢,只需看看FlipKart& amp; Jabong或亚马逊,它们非常快。不知道怎么样?他们在做什么?他们是在db还是其他什么地方进行搜索?

我的问题是他们如何才能拥有这种卓越的表现?我知道他们有负载平衡服务器与mem缓存像内存实现缓存可能是整个网站。

但是,创建如此大型可扩展网站的最佳做法是什么?他们是如何做到的?他们中的任何一个都使用像nop commerce或magento这样的开源电子商务平台吗?或者他们都喜欢定制?

希望了解如何使用其最佳实践来扩展类似这样的Web应用程序。 (请注意,这是一个普遍的问题而不是与nop-commerce相关的问题,它是我们迄今为止使用过的最好的电子商务应用之一。)

由于

1 个答案:

答案 0 :(得分:16)

数据库层通常始终是瓶颈,通常是重要的瓶颈。这意味着您必须拥有一个缓存层,以最大限度地减少数据库访问并将其从关键路径中删除。当键值存储足够时,Memcached可能是一个很好的选择。

然而,许多真实场景​​涉及复杂的域模型。在这些情况下,使用与域对象一起使用并且可以处理嵌入对象关系的内存数据网格要好得多。

如果您需要高可用性,弹性扩展,最高性能,并且可能希望在数据到达数据库之前创建事件驱动的体系结构或预处理数据,那么内存数据网格也非常有用。这是一个很好的视频,描述了一些最大的玩家如何做到这一点: http://youtu.be/1AR2WWaP8CE

另一项主要优化是减少下载内容的时间,因此您还需要使用内容分发网络。从这两个优化开始,您可能会发现性能不再是问题。

Norm