电子商务网站建设容量规划是一个非常复杂的工作,涉及各个技术领域的专业内容。今天在这里分享一些方法来把握电子商务网站容量规划的整体。
(1)分而治之
大型的电子商务系统可能非常复杂,包含全球各主要地点的数据中心、全球广域网络、数据中心的当地交换局域网络、安全基础设施、各数据中心的计算基础设施、存储子系统、分布式的数据库系统等。从系统设计的角度讲,复杂系统的设计通常采用自顶向下的模块化、层次化的构架设计。层次是基于结构的一种划分,模块式基于功能的一种划分。复杂系统可以先基于层次划分,然后在每一层次中细分功能模块;也可以先基于模块划分子系统,然后在子系统内部再划分。
这种设计思路简化了问题的复杂度,比较好的控制了再设计的每一阶段需要同时考虑的因素的数量。电子商务系统的容量规划,对应系统架构的分解,也可以分而治之,对各层次、各模块的性能分别进行容量规划。具体到各层次、各模块。他们对预期容量、性能、扩展性的要求都是不一样的,分而治之也可以确保容量规划考虑到足够细致。
另外,分而治之能帮助把握容量规划的重点。根据8/2原则,整体系统的性能的瓶颈,往往取决于系统20%的组建,分而治之帮助找到系统中的需要关注的层次和模块,在容量规划中对这些层次和模块加以重点考虑,往往能达到事半功倍的效果。
(2)利用工具
容量规划即是科学,又是一种艺术,因为没有人能精确预测实际的容量需求。利用工具可以帮助预测和分析电子商务系统的行为和需求发展趋势,为容量规划提供样本数据,为理论计算提供实际数据参考。
在两类工具可以帮助容量规划。一类是测试工具,通常在系统部署上线和升级之前使用,用于模拟用户用户实际实际的访问请求,可以用来测试和观察系统在接近真实访问请求的情况下的行为和性能。模拟一定数量的并发访问,可以用来做压力测试,帮助测试观察系统在不同的负载下的行为和处理能力的变化情况、趋势和饱和点。这些数据都可以极大地帮助到容量的分析和预测。常用的工具如,微软的免费工具web capacity analysis tool 和web application stress tool。
另一类是检测工具,通常在系统运维阶段使用,用于监视系统的实际访问量和使用率,观察访问需求和峰谷值特征和变化趋势,帮助警告系统容量接近上限是否需要扩充,帮助预测一定周期内访问量和增长趋势,便于对可预见的将来系统的进一步升级进行规划。某些工具还可以自动进行某些预测分析,预告未来几个月、半年、一年的容量需求。3)动态调整
即使在系统上线前进行了非常细致的容量规划,系统真正开始运行后,仍然可能发现与实际情况有差异。另外,伴随电子商务业务的快速发展,系统访问需求的变化也可能很快超过预期值。所以,容量规划是一个长期的任务,韵味人员需要定期评估系统的负载、利用率、访问需求的变化情况和趋势,有必要的话应提出扩充升级的需求。定期的评估可以使用监控工具的数据,也可以通过理论分析,依据新的需求开展。
下面介绍容量规划需要考虑的一些主要因素。
1)用户数量
确定同时使用站点的用户数量,这个数字通常有两个主要来源:市场分析和系统分析。如果站点还未建立或者发布,站点所有者和操作人员就可能需要借助市场分析报告来预测站点发布初期及以后的预期通信量。如果站点已经建立且已在运行,分析web服务器的日志文件,以了解站点在不同时间的点击数以及可以表明站点内容很受欢迎程度是否增加的所有使用趋势。计算站点当前支持的用户数量时,要根据峰值使用来计算,而不是根据典型使用平均或者平均使用。
这里隐含了一个可用性的问题。企业应对网站可用性程度做出决策。例如,是必须保证网站能处理峰值的访问量,还是保证能处理80%的峰值访问量就够了?这取决于公司打算投入多少财力来保证电子商务系统始终能够满足需求。这要看电子商务网站不可用而引起的损失是否值得企业花钱来达到这种可能性。
2)页面类型
如果web服务已处理静态页面为主,由于静态页面读取主要看磁盘操作,所以更多考虑的是I/O性能要求,如果web服务需要处理大量动态页面,那么对中间件系统计算能力和数据库处理能力的要求就会比较高,生成动态内容所需的数据查询处理量越大,对系统计算能力和数据库处理能力要求就越高。
3)采用何种web应用技术
采用asp、asp.net java、applet、jsp、web service 等不同的微博应用技术,对系统的处理能力开销是不一样的。
4)网站提供的服务内容
例如,通过电子商务提供法律咨询的服务的网站,网页的内容可能多数以文字为主,有少量图片,那么同样的条件下,用户调用某一页面的时间会比较短,每一用户请求占有系统的处理能力资源会比较少。而如果是通过电子商务提供视频、图片资料服务的网站,网页内页以图片、视频资料为主,可能带有实时传送的流媒体内容,那么用户调用某一页面的时间比较长,每一用户请求占有系统处理能力资源也会比较多。
对于电子商务网站的基础设计,每一组建,包括web和中间件系统、数据库系统、服务器系统、存储系统、网络系统的容量规划,简化来讲,都基于一下的公式:系统容量=并发服务请求数x每请求系统开销。