Dha*_*ari 12 architecture performance scalability e-commerce
我一直在研究基于NopCommerce的asp.net mvc3电子商务应用程序.
最近我们一直致力于提高性能,以提高网站的性能.该网站拥有超过20万个产品和1200个类别和大型没有.品牌 这项努力已经达到了20到200倍的性能提升,但仍然在与电子商务专业,如亚马逊,flipkart,jabong,letsbuy,ebay,shopping.indiatimes.com等标志着它们仍然较慢.
现在只看几个网站,比如亚马逊,Flipkart和Jabong ......他们的页面开始加载,几乎没有等待时间,图像和其他资源几乎瞬间加载.
同样对于搜索,Nop Commerce的染色速度很慢,只需看看FlipKart&Jabong或亚马逊,它们的速度非常快.不知道怎么样?他们在做什么?他们在db或其他地方执行搜索吗?
我的问题是他们如何才能拥有这种出色的表现?我知道他们有负载平衡服务器与mem缓存像内存实现缓存可能是整个网站.
但是,创建如此大型可扩展网站的最佳做法是什么?他们是如何做到的?他们中的任何一个都使用像nop commerce或magento这样的开源电子商务平台吗?或者他们都喜欢定制?
想学习如何使用其最佳实践来扩展像他们这样的Web应用程序.(请注意,这是一个普遍的问题,而不是与nop-commerce相关的问题,它是我们迄今为止使用过的最好的电子商务应用之一.)
谢谢
小智 17
数据库层通常始终是瓶颈,通常是重要的瓶颈.这意味着您必须拥有一个缓存层,以最大限度地减少数据库访问并将其从关键路径中删除.当键值存储足够时,Memcached可能是一个很好的选择.
但是,许多真实场景涉及复杂的域模型.在这些情况下,使用与域对象一起使用并且可以处理嵌入对象关系的内存数据网格要好得多.
如果您需要高可用性,弹性扩展,最高性能,并且可能希望在数据到达数据库之前创建事件驱动的体系结构或预处理数据,那么内存数据网格也非常有用.这是一个很好的视频,描述了一些最大的玩家是如何做到的:http: //youtu.be/1AR2WWaP8CE
另一个主要优化是减少下载内容的时间,因此您还需要使用内容交付网络.从这两个优化开始,您可能会发现性能不再是问题.