案例分析

aiCache:正对需求,名不虚传

摘要:
  • 刚开始,我们在装有RedHat 5 64bit Linux系统的惠普DL360G5服务器上,利用aiCache动态缓存加速了十个站点。
  • 我们使用了aiCache的各个特性,包括缓存POSTs 命令,参数丢弃,终止内容响应,提取日志,标记原始服务器(这项功能不止帮了我们一次)以及一些其他的特性。
  • 通过使用aiCache的后备管理模式,我们在消除了对网站浏览者的不利影响的同时,还极大的减少了恢复服务的时间。
  • 即便在刚开始使用aiCache的时候,报告就显示网站反应时间(网页加载时间)将近下降了30%,实现网站加速。现在,所节省的反应时间还要更接近于这个值。
  • 每一个人,甚至是管理部门,都爱上了这个表格形式的即时数据统计屏幕。事实上,这是在整个公司电脑桌面上的一个可隐藏的标准窗口,现在这个窗口已经代替了其他的监测工具。
  • 我们利用专门监控系统和网络的应用程序——Naggios,通过对SNMP下的aiCache数据进行读取,记录日志和绘制数据表格。
  • 目前,我们打算把aiCache广泛应用于公司里更多的站点,同时缓存第三方APIs 。
  • 在一份有趣的记录里,我们的aiCache服务器能对每台服务器达到一百万次缓存响应。我决定对它们进行压力测试。令人惊奇的是,每台aiCache服务器依然同样可以处理每秒53'000次请求,却只缓存极少数的数据!服务器减荷很明显!
  • 我依然对aiCache所使用资源之少略感困惑。那些使用aiCache的服务器能够应答每秒超过4000次的请求,而通过top(显示任务进程的命令)和其他linux实用程序却还可以看出整个系统资源有99%是闲置的。
  • 我们现在正在着手减少一些原始服务器的数量,或重新安排它们的用途,因为我们再也不需要如此之大的服务器集群了。这样下去,我相信我们还会节省不少,因为以前我们不得不去购买众多昂贵的硬件,最重要的是还会受数据中心的空间和能源限制,而现在,不仅可以撤掉一些硬件设施,我们更为新的应用腾出了空间!
  • 在我们公司,aiCache提倡的“重新让生活尽在掌握”的口号变成了现实。停机的时代已经过去,员工们热情高涨,效率提升,管理人员从心里爱上了aiCache。

真的不知道如何感谢你们给我带来这么棒的产品和技术支持!难道还用犹豫吗,我极力向大家推荐aiCache

——Rashid Karimov, Director Platform, CNBC.com

aiCache如何帮助媒体公司处理病毒和网络拥堵
安装aiCache之前

自人们可以从媒体公司的网站上下载最受欢迎电视节目后,此类网站遭遇了严重的网络拥堵。由于热门电视剧内容本身就是一个越炒越热的东西,一个某部电视剧的忠实FANS带动周围一群同事朋友一起观看并不是什么怪事。然而,这种会像病毒一传播的观看热情却使网站电视剧下载次数成倍增长,从而产生了之前所说的网络拥堵。

媒体公司网站的前端服务器集群运行Apache和一个自定义的PHP应用,共包含14个服务器。代码连接到一个MySQL 5 DB接口上,并通过媒体ID来搜索媒体元数据,如剪辑的名称,内容,上映时间,演员和剧情简介等。另外,用户在该网站上可以看到一些通过抓取视频而得到的电影图片,还可以通过链接到达每部电影专门的讨论区板块。

经过网站一段时间的运作,他们发现现有设置根本无法应对由于用户观看热情所致的网络拥堵。在繁忙时段,Web服务器负荷远超出20,响应时间增至10-15秒,甚至更糟,“视频播放器”永远处在缓冲阶段,网站直接陷入无法响应的僵局。根据负载均衡器在整个网站瘫痪之前收集的信息可知,用户对动态网页请求高达每秒245个。尽管他们试图把数据库变成一个主节点和两个只读复制的集群,问题仍然存在。

该网站的技术投资预算已大大超支,这使得数据库原本就有限的空间和资源更加紧张。

初试aiCache

媒体公司在初步了解aiCache之后,从现有服务器集群中专门选出两台安装了64位Linux的双核服务器用于证明aicache对网站的实际功效。(安装aicache无需对网站配置做出其它的更改)

配置aiCache

通过配置,aiCache可以对包括“最新消息”、“最受欢迎”、显示特定视频网页和提供元数据到特定媒体等PHP脚本输出缓存约10秒。

结果

在媒体公司的网站安装aiCache之后,事情变得完全不一样了!需要原始服务器处理的用户流量将少为原来的24倍,网站在向人们提供流畅的节目直播的同时,还有大量web服务器资源是闲置的。数据库群的连接数量也减少到一位数。很快实现了对服务器减荷

使用aiCache在web服务器前端处理用户请求仅2周后,媒体公司就决定将服务器集群的规模由14台减少到3台,数据库服务器减少为一台减少 (原来是HA设置)。

鉴于原始服务器负载和整个托管设施的大量减少,该网站抓住机会为自己添加了更多的动态网页内容,如在原先的视屏页面中加入了用户评论板块。网站还重新利用了由于配置aicache而闲置下来的web服务器资源。

意外惊喜

aiCache的神奇功效在媒体公司的网站得到了充分发挥,它可以即时监控用户流量,识别原始服务器上缓慢的脚本。

aicache利用网站原先就存在的SNMP,使媒体公司可以收集每秒请求数量和回应时间的统计信息并制作表格。一旦发现问题,aicache还可以生成警报邮件。

通过配置,aiCache选择性日志抑制功能不再记录javascript(.js)和内容样式表(.css)请求,方便日志管理。

网站可以打开aiCache运行状态的压缩包,以处理许多大容量的.js和.css脚本,减少输出流量。同时他们还发现,辅助内容也大幅减少——这可能要归功于aiCache清除了HTTP的响应条件。

综述

现在,媒体公司网站运行顺利,用户的“电视剧热情”带来网站受欢迎度的空前高涨,停机烦恼不复存在。

网站可以轻松运行多个站点,拥有富余的数据处理中心设施,并广泛利用各种技术,包括PHP,Java,Linux和运行在Microsoft Windows平台的ASP。一些页面内容靠一个主要的CDN即可传输。

网站规模(HW footprint):共拥有超过400台服务器。

该网站的硬件设施配置如下:微软Forefront服务器,规格为1 RU(外形满足EIA规格、厚度为4.445cm),均带有双核Intel或AMD CPU,RAM为4GB或8GB,Cisco行业标准的千兆位接口转换器。

负载均衡器和防火墙服务十分充裕,可对服务器集群实现专门的负载均衡和保护。

aiCache的硬件配置:双核64位,16GB内存 Intel 1RU服务器,其余是根据客户现有条件进行设置的:知名厂商的64位Linux分发版,包含OS支持,富余的带有RAID磁盘整列的硬盘驱动器和网络连接。

aicache为其节省的开支:
  • 28个新服务器——5000美元/台,共140,000美元
  • OS许可:约20,000美元
  • DB许可:约15000美元
  • 服务器安装费用:共约7千美元
  • 13台服务器重置和其他应用程序的OS许可:共7万5千美元
  • 共节省超过200000美元
aiCache如何使一个Web2.0式社区网站在原有基础上提升承载量
安装aiCache之前

这个案例所要研究的是一个Web 2.0式的社区网站,它通过自定义的软件由用户自己创建帐户数据存储,相册和博客。除此之外,网站还设有一个采用开源解决方案的留言板。

网站的多层架构设置包括由26台运行Apache/PHP和Apache/Tomcat的服务器所构成的前端服务器集群,由12台专门运行J2EE的服务器所构成的Jboss集群,多个数据库服务器,包括Oracle和MySQL群。另外,包含NFS文档存储的应用由知名供应商提供。

访问者如果希望使用这个社区网站提供的各项服务,如创建文件,存储照片等,就必须在完成注册后进行登入。当然,就像新浪搜狐的博客一样,访问者也可以对其匿名浏览。

然而,这个在线社区网站的注册人数越多,访问量越大,每个用户也就越容易遇到网络拥堵的问题。每次对某个页面的浏览行为都需要Tomcat和Jboss服务器执行一次代码。大部分服务器的负载量与用户流量呈直接的正比关系,即用户越多,负载越沉重。在每天的网站浏览高峰期,网页加载时间甚至延长到10秒左右……这些情况使得网民们怨声载道,网站访问者人数停止增长,注册用户开始减少。

据网站内部的技术人员预测,想要未将来双倍数量的注册用户提供服务,就必须增加双倍的硬件设施。现有服务器的能力显然是无法满足激增的容量需求的。网站不得不考虑增加功耗和冷却设备,甚至花费高昂的代价转移到更强劲的数据处理中心。总体情况不容乐观……

显然,现有网站构架在严峻的形势下显得力不从心。每天,网站的技术团队为处理站点运行中不断出现的麻烦状况而忙得团团转,又哪有精力“翻新”代码库,提升网站长远的竞争力呢?

初试aiCache

在这个社区网站得知我们的网站加速服务器加速)产品——aiCache之后,立即就决定进行测试安装。他们将aiCache安装在四台全新的双核64位的服务器上,每台均带有32GB的RAM。

经过技术人员研究aiCache常规用户案例和HTTP网络流量模型之后,他们将aiCache动态缓存加速配置为对大部分的网页缓存60秒,这包括网站首页上的 “最新消息”、“热点追踪”、“星级用户”版块。而用户的个人主页,相册和博客也可进行缓存。同样能够缓存的还有包括首页,对于用户论坛版块的首页,头版头条,同一标题下的所有帖子和文章观点在内的用户论坛。

同上,这家社区网站还对图片,.js, .css和其它辅助内容进行缓存,并将其TTL值配置为七天。

结果

网站安装aiCache之后,原始服务器集群所面对的网络流量服务器减荷达到了85%。即使在一天中的流量高峰期,网站大量的配置资源也都是闲置的。得益于文档应用负载的减少,数据库服务器的连接数和负载量大规模降低。

由于网络拥堵显著减少,这家社区网站决定降低服务器集群规模——将服务器数量由26台减至6台,除此之外, Jboss服务器的数量也从12台降到了4台。对于数据库服务器,2个2节点集群就足以应付日常运作了。

另外,通过减少大量多余的承担读取复制工作的数据库服务器的数量,网站还进一步精简了设置。

在aiCache的帮助下,网站精简了大量多余的配置,为现有的数据处理腾出了富余能力以应对未来的挑战。网站不再需要转移到其它的数据处理中心,也无需对服务器托管再做打算。

意外惊喜

通过充分利用aiCache,网站获得的好处可不只一点点!

第一, 他们可以实时监控用户流量,识别原始服务器过慢代码并进行预警。

第二, 由于aiCache可以对SNMP协议加以利用,故网站通过一个知名的开源监测数据包,收集到了大量SNMP的对象标示并制表,对反常情况发起警报。

第三, aiCache选择性日志调控功能可以控制日志文件的大小。

第四, 由于原始服务器腾出了富余能力,它们现在可承担对网页内容进行压缩的工作。

第五, 通过配置aiCache动态缓存加速,网站可对动态页面设置更大TTL值的以缓存更长时间,同时做到一旦页面内容发生改变立即刷新。我们不难发现,正是由于网站能够按需终止缓存内容,他们才能进一步不断精简和优化各项设置。

最后, 根据自身情况,这家社区网站还做了一个很有意思的决定——创建一个自定义命令行脚本用来执行“sir”命令,以得到了一个可以实时显示吸引最多用户拜访的URL目录。这样一来,网站就可以对其加以整合添加到“热门点击”版块中去,方便用户查找。

综述

现在,我们再总结一下这个大型的在线社区网站的综合情况:

技术方面,这家网站使用了以PHP和Java为基础的开源自定义软件。设置包括Apache/PHP,Apache/Tompat/Tboss 。

后端数据库:MySQL和Oracle。

网站规模(HW footprint):共拥有超过60台服务器

硬件设施配置:微软Forefront服务器,规格为1 RU(外形满足EIA规格、厚度为4.445cm),RAM为4GB或8GB, 足够的网络连接。

数据库群:在SAN上储存的双4核。

负载均衡器和防火墙服务十分充裕,可对服务器集群实现专门的负载均衡和保护。

服务器系统通过专门的多余的负载均衡器实现负载均衡,通过专门的多余的防火墙保护。

aiCache硬件配置:4台双插槽双核64位,16GB内存 Intel 1RU服务器,每台带有16GB的内存。因为该网站的技术团队已经对一个商业Linux分发版十分熟悉,所以系统管理员和网站基础设施团队迅速掌握了aiCache的安装和配置。

节省的开支
  • 60个新服务器——5000美元/台,共300,000美元
  • OS许可:约42K美元
  • DB许可:约120K美元
  • 服务器安装费用:共约1万8千美元
  • 共节省超过60万美元

预算不包括工程重新定位的花费,这部分预计有18万美元的花费或者更多。

总之,在安装aiCache之后,这家网站精简了硬件配置,节省了现有数据处理中心的空间,耗能和冷却设备。最重要的是,他们即使在网络流量高峰也可正常运作,高枕无忧。

aiCache如何帮助电子商务网站应对假日“网上购物热”
安装aiCache之前

众所周知,由于商品可选范围广,价格相对低廉,客户服务比较到位等优势,传统电子商务网站吸引了越来越多的人加入到网上购物的热潮之中。我们下面案例的主角就是其中一家人气高涨的电子商务网站,随着业务的不断发展,其所经营的商品包罗万象,五花八门。

这是一家很典型的电子商务类网站,首页上打着醒目的促销广告,列出了热销单品,当然,用户也可根据需要键入关键字进行产品搜索。网站的“商品类目”中包括电子产品,家装用品,保健美容产品和一些其它常见产品等。

这个网站所面对的网络流量同样十分典型——97%的用户都是在这里浏览网页,阅读描述,看图片,比较其它卖家的相同产品。

网站现有设置包括一个拥有32台服务器的前端服务器集群,运行Microsoft IIS。存储产品和用户信息的微软SQL数据库集群与自定义ASP代码相连。同时,也有少部分服务器在运行客户服务应用。

随着假期的临近,“网上购物热”的浪潮也即将袭来。很明显,为了迎接眼下的流量高峰和可能出现的网络拥堵,这家电子商务网站迫切需要优化站点性能,提升运行能力。

然而,综合各项技术推测,这家网站发现这将意味着需要花费高昂的代价把前端和后端的服务器集群规模扩大两倍左右。幸好,这不是唯一的办法。这家电子商务类网站经过考查与比较,做出了一个显然更佳的选择——aiCache

配置aiCache

网站选出了三台双插槽双核64位Intel服务器以专门配置aiCache,每台服务器都带有16GB的内存。

最初,他们将aiCache配置为对包括产品搜索,主页,产品类目在内的ASP脚本的输出缓存10秒。而对产品图片和展示页面设定为缓存24小时。

通过将TTL值设置为一天,aiCache可将大量缓存在RAM中的.Js和.css文件直接对相应的用户请求作出回应,根本无需服务器集群“操心”。

结果

网站安装aiCache之后,原始服务器集群所面对的网络流量减少了95%。网络服务器的负载量也减少到0,服务器减荷惊人。 连接到数据库结群的接口也降至一位数。

经过缓存的页面的响应时间大幅缩短,网站的TTFB值从3.2秒降到4毫秒!曾经耗时最长的产品搜索提速最为明显—从4.7秒降到4毫秒!

配置aiCache在服务器前端处理用户流量仅三周,这家电子商务网站就决定将IIS服务器34台减少为12台,将数据库集群减少为4台(出于HA的原因,数据库仍保持集群状态)。

鉴于原始服务器负载和整个托管设施的大量减少,该网站抓住机会为自己添加了更多的动态网页内容,如在原先的视屏页面中加入了用户评论版块。网站还重新利用了由于配置aiCache而闲置下来的web服务器资源。商品系统里也加入了更多的库存量单位(SKU),如样式,颜色等等。然而,即便网站不断增加商品明细,网站性能也不会再像以前那样打折扣了。

意外惊喜

通过充分利用aiCache,网站可实时监控用户流量,包括SNMP集成。

另外,网站可以得知用户请求最多的URL是什么,并将其放入“热销单品”等其它明细版块中。

aiCache的选择性日志调控功能避免对辅助内容创建日志,这样减少日志文件的大小和处理时间。

综述

这家电子商务网站的托管设备包括富余的数据处理中心。自定义ASP前端,所有的产品和客户信息都保存在一系列的微软SQL数据库中。

网站规模(HW footprint):主要位置有近60台服务器,次要位置有少量的服务器。

产品明细:28类不同的产品目录中包含大约18,000个最小库存单位(SKU)。

aiCache 硬件配置:两台双核64位,16GB内存 Intel 1RU服务器,每台带有16GB的内存。其余是根据客户现有条件进行设置的:知名厂商的64位Linux分发版,包含OS支持,富余的带有RAID磁盘整列的硬盘驱动器和网络连接。

节省的开支
  • 36个新服务器——5000美元/台,共180,000美元
  • OS许可:约1万6千美元
  • DB许可:约1万2千美元
  • 服务器安装费用:共约1万8千美元
  • 26台服务器重置和其它应用程序的OS许可:共9万5千美元(分期付款)
  • 共节省超过32万美元
aiCache如何帮助新闻网站减少硬件配置的同时提高性能
安装aiCache之前

这个案例中所讨论的是一个涵盖政治,经济,健康,生活方式等国内和国际新闻的传统的新闻网站。网站的大部分内容通过自定义的CMS(内容管理系统)进行传输,另外,还有一些文章直接来自相关通讯社,不需要过多处理。每天,大约170篇新闻报道和20个视频片断通过CMS出现在这家网站上。

网站的Web服务器集群中有不超过30台服务器,它们把CMS存储在后端数据库服务器的内容还原,按用户请求进行提交。用户还可以浏览许多来自通讯社的报道,这些报道直接从数据库输出即可,基本不需要网站进行额外处理。此外,用户可根据自身需要对社论和通讯社报道键入索引搜索。

网站的点击率随时间逐渐增加,基础设施的局限性也开始逐步显现。由于前端web服务器,后台数据库服务器和搜索引擎服务器繁忙,网站的响应时间开始增加。由于每一次搜索时间的增加,用户要求进行某项搜索的请求开始“扎堆排队”,你能想象花费30分钟去等待一次新闻搜索结果的情形吗?在网络高峰时段,CMS也会变成反应迟钝,这使得网站内容编辑人员非常沮丧的。

很多独家报道变成 “病毒”---在网站上发布几分钟就会导致严重的流量高峰(2x-4x),甚至有时会引起整个网站的崩溃。

一项内部估计指出,为了应对发布“爆炸性”新闻而引发的流量高峰和拥堵,硬件设备至少要翻倍。

初试aiCache

这家新闻网站在研究过aiCache典型客户案例和HTTP流量样式之后,将aiCache动态缓存加速配置为对网站首页,新闻目录和社论缓存60秒,对搜索结果缓存10秒。出于版权的考虑,通讯社报道仍然从数据库中发布,但是在第一次对用户提交后可缓存1小时。

图像,,java脚本和css的缓存时间能够被延长到一天至一周。

结果

网站安装aiCache之后,原始服务器集群所面对的网络流量减少了85%。实际上,即使网站上发布了像病毒一样的独家报道或爆炸性消息,web服务器,数据库服务器和搜索引擎服务器也有相当的富余能力。用户搜索时间从原先“可怕”的30分钟提速为现在的4秒。

配置aiCache一段时间后,这家新闻网站决定把以前的60台服务器减少到低于30台。一些服务器被关闭,另外一些则提供类似网络社区的服务,如允许用户对新闻报道发表的评论和留言。当然,aiCache同样也为这些服务器提供加速。

网站的响应速度明显更快了,TTFB值几乎为零。

意外惊喜

通过充分利用aiCache,网站可以实时监测用户流量,识别原始服务器上缓慢的脚本和代码。网站还可以观察到用户请求次数最多的URL是什么,以添加到网站“热点点击”版块中去,方便用户浏览,增加网站的点击率。同理,“热门搜索”也可以受益于aiCache

就自定义创建CMS网页而言,网站可有选择地终止其中部分内容。这样一来,当一篇新的报道出炉后,包含这个链接的主页和目录都会按照需要终止并刷新,迅速使读者看到这篇报道。

通过利用网站本身的SNMP监测数据包,aiCache可以收集每秒请求数和响应时间,制表,对反常情况发起警报。

aiCache的选择性日志调控功能避免对辅助内容创建日志,以减少日志文件的大小。

综述

这是一家知名的新闻网站。

网站具有自定义内容管理系统(CMS),可进行站内搜索。

访问者可不经登入匿名对网站大部分的内容进行浏览。

网站规模(HW footprint):共拥有超过60台服务器。

aiCache 硬件配置: 3个双核64bit基于英特尔的1RU服务器,带有16GB内存。

节省的开支
  • 40个新服务器——5000美元/台,共200,000美元
  • OS许可:约2万8千美元
  • DB许可:约1万5千美元
  • 服务器安装费用:共约1万2千美元
  • 26台服务器重置和其它应用程序的OS许可:共6万5千美元
  • 共节省超过30万美元
© 2009, aiCache & 芝麻开门 版权所有
analytics