我一直致力于基于NopCommerce的asp.net mvc3电子商务应用程序。
最近我们一直致力于性能方面的工作,以提高网站的性能。该网站拥有超过200000个产品和1200个类别和大号。的品牌。这些努力带来了 20 到 200 倍的性能增量,但与亚马逊、flipkart、jabong、letsbuy、ebay、shopping.indiatimes.com 等电子商务巨头相比,速度仍然较慢。
现在看看亚马逊、Flipkart 和 Jabong 等少数几个网站......他们的页面几乎在零等待时间下开始加载,并且图像和其他资源几乎立即加载。
同样在搜索方面,Nop Commerce 的速度也越来越慢,只要看看 FlipKart 和 Jabong 或亚马逊,他们的速度就非常快。不知道怎么办?他们在做什么?他们是否在数据库或其他内容中执行搜索?
我的问题是他们做了什么才能有如此出色的表现?我知道他们有负载平衡服务器,缓存了内存,就像内存实现一样,缓存可能是整个站点。
但是创建如此大型的可扩展网站的最佳实践是什么?他们是如何做到的?他们中的任何一个都使用 nop commerce 或 magento 等开源电子商务平台作为基础吗?还是他们都更喜欢定制?
想要了解如何扩展像他们这样的 Web 应用程序及其实施的最佳实践。 (请注意,这是一个一般性问题,而不是与非商务相关的问题,它是我们迄今为止使用的最好的电子商务应用程序之一。)
Thanks
数据库层通常始终是瓶颈,而且往往是重要的瓶颈。这意味着您必须拥有一个缓存层来最大限度地减少数据库访问并将其从关键路径中删除。当键值存储足够时,Memcached 可能是一个不错的选择。
然而,许多现实场景涉及复杂的领域模型。在这些情况下,最好使用内存中的数据网格,该网格可与域对象一起使用并且可以处理嵌入的对象关系。
如果您需要高可用性、弹性扩展、最高性能,并且可能想要创建事件驱动的架构或在数据到达数据库之前对其进行预处理,那么内存数据网格也非常有帮助。这是一个很好的视频,描述了一些最大的参与者是如何做到这一点的:http://youtu.be/1AR2WWaP8CE http://youtu.be/1AR2WWaP8CE
另一个主要优化是减少下载内容的时间,因此您还需要使用内容交付网络。从这2个优化入手,你可能会发现性能不再是问题。
Norm https://stackoverflow.com/users/1385604/norm-leitman
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)