12

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

最近,我们一直致力于提高网站的性能。该网站有超过200000个产品和1200个类别和大号。的品牌。这种努力导致了 20 到 200 倍的性能提升,但是当与亚马逊、flipkart、jabong、letsbuy、ebay、shopping.indiatimes.com 等电子商务巨头进行基准测试时,它仍然较慢。

现在看看亚马逊、Flipkart 和 Jabong 等少数网站……他们的页面以几乎零等待时间开始加载,图像和其他资源几乎是瞬间加载的。

同样对于搜索,Nop Commerce 的染色速度很慢,只要看看 FlipKart & Jabong 或亚马逊,它们的速度非常快。不知道怎么做?他们在做什么?他们是否在 db 或其他东西中执行搜索?

我的问题是他们做了什么才能有这种出色的表现?我知道他们有负载平衡服务器,内存被缓存,比如实现缓存的内存实现可能是整个站点。

但是,创建如此大型可扩展网站的最佳实践是什么?他们是怎么做到的?他们中是否有人使用任何开源电子商务平台,如 nop commerce 或 magento 作为他们的基础?还是他们都喜欢定制?

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

谢谢

4

1 回答 1

17

数据库层通常总是一个瓶颈,而且往往是一个重要的瓶颈。这意味着您必须有一个缓存层来最小化数据库访问并将其从关键路径中删除。当键值存储足够时,Memcached 可能是一个不错的选择。

然而,许多现实世界的场景都涉及复杂的领域模型。在这些情况下,最好使用与域对象一起工作并且可以处理嵌入式对象关系的内存数据网格。

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

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

规范

于 2012-05-09T20:31:58.190 回答