案例分析 - NCache Moonpig.com 的关键高可用性

Telenor 案例研究

NCache 速度非常快,性能非常棒。 它使我们不必担心 ASP.Net 会话方面的事情。 就用户体验而言,从 NCache.

杰·杰特利
系统架构师
月猪网
Moonpig.com-标志
 

国家或地区:
英国、澳大利亚和美国

行业:
在线消费者贺卡

公司简介:
Moonpig.com 是一家在线贺卡零售商,成立于 1999 年,正值互联网时代,年轻的企业家和投资者看到了通过互联网销售商品的巨大机会。 尽管许多互联网企业都以失败告终,但 Moonpig 的创始人兼董事长尼克詹金斯的愿景在最初的艰难岁月中持续存在,并且 Moonpig 已将自己确立为主要的在线品牌。

该公司从 2000 年开始稳步发展,首先向英国消费者销售。 2004 年,它进入澳大利亚市场,到 2006 年全年卡片总销量达到 670,000 张。 在英国的电视广告活动的帮助下,Moonpig 的增长迅速增长到 2010 年惊人的 XNUMX 万张贺卡。在那一年,它将业务扩展到了美国。

在总共 6 万客户中,近一半的客户每年至少在该网站上购买一次。 Moonpig的主要高峰包括情人节、母亲节、父亲节和圣诞节。

Alachisoft 产品名称:
NCache

满足客户需求:

  • 可靠的会话存储
  • 可扩展性
  • 高可用性
  • 易于维护

关于 Alachisoft:
Alachisoft,一家位于加利福尼亚的公司提供 NCache 和存储边缘。 NCache 是一种内存分布式数据缓存,可让您缓存应用程序数据和 ASP.NET 会话状态,以提高您的应用程序性能和可伸缩性。 StorageEdge 通过外部化 BLOB 和缓存 BLOB 和列表数据来加速 SharePoint。

您可以下载 30 天的免费试用版 NCache 止 此处.

Alachisoft
公司总部
12005 Ford Road, Suite 520
达拉斯,德克萨斯州75234

US: +1 (214) 764-6933
UK: +44 207 993-8327

sales@alachisoft.com
support@alachisoft.com

NCache 允许 moonpig.com 通过将 ASP.NET 会话存储在可靠且可复制的缓存存储中来为其高流量网站维护非常重要的高可用性。

下载PDF
杰·杰特利

“最初我们从使用 InProc 缓存的单台服务器开始。但很快,我们意识到我们需要扩展到多台服务器。最初我们尝试了 .NET 的内置功能——即 InProc 和 SQLserver——并发现那些没有不行。

杰·杰特利
系统架构师
月猪网

挑战

2006 年,很明显,Moonpig 的英国网站处于快速增长阶段,访问者和订单的数量给该网站带来了相当大的负载,该网站基于微软的 ASP.NET framework. 到 2006 年底,Moonpig 网站每月的访问量达到 2010 万次。 到 2.5 年年中,这些数字增长到每月 XNUMX 万次访问。

Moonpig 很快意识到,鉴于这种增长,ASP.NET 会话状态 InProc 和 SqlServer 存储选项对于保持高可用性无效。

系统架构师 Jay Jetley 说:“最初我们从使用 InProc 缓存的单个服务器开始。但很快,我们意识到我们需要扩展到多个服务器。最初我们尝试了 .NET 的内置功能——这意味着InProc 和 SQLserver - 发现它们不起作用。我们实际上尝试了 SQLserver 半小时。很明显它不起作用,我们只是回到了一台服务器。我们在实际需要之前这样做了扩展到两台服务器。然而,我们已经到了需要能够使用多台服务器的地步,而不仅仅是在高峰期的负载。

在这种情况下,由于多种原因,ASP.NET 会话状态存储无法基于 InProc 和 SQLserver 进行扩展。 InProc 有局限性。 它专为在单服务器、单进程环境中使用而设计,不适用于多服务器或多进程 ASP.NET 环境。 结果,会话丢失。 另一个 InProc 问题是它的内存限制。 随着 ASP.NET 进程中会话数量的增加,每个会话都需要内存。 该工作进程的内存大小显着增长,并且在 32 位平台中,工作进程的大小有 1GB 的内存限制。

SqlServer 稍微好一点,但不是很多,因为它不是内存数据存储,而是基于磁盘的数据存储。 所有数据库都保存在磁盘上,因为它们变得如此之大,以至于内存不足以容纳整个数据库。 因此,数据库将其数据存储在磁盘或持久存储上。 由于磁盘存储,SqlServer 性能没有那么快,导致性能下降。

此外,SqlServer 无法线性扩展,从而阻止像 Moonpig 这样的公司顺利发展 Web 农场。 此外,作为一种存储机制,它成为会话和应用程序数据的瓶颈。 因此,数据库服务器无法针对会话和应用程序数据进行扩展。

 

NCache 解决方案

正在寻找解决这个棘手的会话存储问题的方法。 Moonpig的技术团队发现 NCache 在阅读美国出版的备受推崇的 Microsoft .NET 开发者杂志时,在短时间内,Moonpig 安装了 NCache 解决会话存储问题。

杰特利报道,“NCache 速度非常快,性能非常棒。 它可以让您避免担心会话方面的事情。 就用户体验而言,从 Ncache."

” 不仅会话存储问题得到缓解, NCache 还为 Moonpig 提供了其他一些主要好处。 "NCache 使我们能够保持关键的高可用性,同时精确地处理会话存储并有效地进行在线更新,”Jetley 指出。

“这个关键特性转化为几个好处,”他说,“首先,这意味着我们可以简单地使用标准的网络负载均衡器算法进行循环。因此,我们不需要关心用户创建后续的哪个服务器请求。最终,他们都可以访问同一个会话。这是一个巨大的好处。

“第二, NCache 让我们可以随意将服务器进出负载均衡器。 我们可以取出服务器,应用 Windows 和其他补丁,进行安装,进行代码更新,确保一切都在脱机工作。 然后,当我们将这些服务器带回负载均衡器时,我们知道如果有人点击我们的服务器,该会话就会在那里。 这是 InProc 或 SQLserver 无法做到的。”

“就可扩展性而言,有一个明显的优势。如果我们开始放慢会话速度,我们可以添加更多 NCache 服务器。 我们现在有六个 Web 服务器,指向两个 NCache 服务器。 那两个 NCache 服务器处理得很好。 但是当我们遇到流量增加和那两个 NCache 服务器不再正常处理,我们可以添加另一个 Ncache 服务器并立即知道我们拥有真正的可扩展性。”

 

近期计划

Moonpig.com 的访客人数和收入都在持续增长,这显然是顺风顺水。 然而,Moonpig 的管理层每天 24/7 时刻密切关注其网站和不断升级的客户流量。 虽然公司依靠 Ncache 对于会话存储,它现在希望使用更多 NCache的缓存功能以简化其卡片订购流程。

 

接下来做什么?

联系我们

联系电话
©版权所有 Alachisoft 2002 - 版权所有。 NCache 是 Diyatech Corp. 的注册商标。