环境:由NgniX,Ruby on Rails和MySQL构成。注:这个Web应用只是一个旅行指南。当用户进入我们的网站时,会通过TripIt导航或者选定目标,再依据详细信息进行下面的操作。他们可以根据自己的喜好选择不同类别(比如餐厅的菜式风格、评级指标等吸引点进行筛选)。或者也可以通过浏览器查看生活指南做一些预订。
尽管我们的网站还处于beta版中,但是每天仍有几百万的访问量。周一下午2点我们接到一则通知,网站将在周四早上9:30(东部时间)一个非常受欢迎的电视节目上出现,根据以往的经验,我们料想这一天将会有20,000至150,000的需求访量,峰值可达到10,000,而服务器将承受100x至1,000x的需求请求数。
我们估计将会有10,000人同时访问,也就意味着要创建每分钟约40,000页的请求数。
我们所具备的:运行于Amazon Web Services,采用EC2云平台。当CPU负载超过网站服务器端时采用auto-scale规则检测,EC2实例将增加一倍。部署过程(尽管这成为一种约束)一个月前,花了一周时间将网站性能进行优化,将网页加载时间缩减了30%,大部分是通过减少数据库调用。
附件:
3天让Web应用承载拓展1000倍.doc (24 KB)