软件开发一般都是成本高昂的活动,所以许多大型Web项目的主要目标是产生收益和提供服务。Web开发项目必须在财务上具有可持续性否则它不会取得成功。它所花费的金钱至少就能抵得上创建和维护项目的费用。按照这种要求,需要监控的最重要指标是业务指标。
软件开发一般都是成本高昂的活动,所以许多大型Web项目的主要目标是产生收益和提供服务。Web开发项目必须在财务上具有可持续性否则它不会取得成功。它所花费的金钱至少就能抵得上创建和维护项目的费用。按照这种要求,需要监控的最重要指标是业务指标。企业主和执行管理人员需要了解网站功能与业务目标的关系。他们主要关心这样一些概念,如利润、运维开支、业务増长和客户对于Web业务的认知度。大多数企业主和执行主管都关注这些问题,而对于Web基础架构的工作方式和正常运行指标则漠不关心。他们也不应该关心这些问题,因为其主要工作是考虑如何经营业务。
相反,开发者和运维工程师则一定要关注与业务关系密切的所有方面。他们有责任与企业主和执行主管通力协作,共同确定哪些才是重要的业务指标。他们还必须通过沟通,来确定用哪些技术指标向执行主管解释业务的执行情况。
如果一个拥有大型网站的组织通过广告或电子商务来开展业务,或者他们的主要收益来源是网站互动,那么最重要的一个指标就是网页加载时间。亚马逊的 Greg Linden提供了一个支持这种观点的指标,他说加载时间每增加10毫秒就可能导致亚马逊销售额下降1个百分比。当然,网页加载时间并不会对所有公司的收益都产生这样明显的影响,但是有一点很清楚,如果主要收益来源是网站,那么加载时间增加就会影响到收益。
要确定组织的重要指标,开发人员和运维人员必须与企业主或执行主管协作,共同确定哪些方面与最终业务目标密切相关。下面列出了些与业务环境相关的常用性能指标。
网页加载时间:将网站的网页加载时间与平均收益相关联,有助于理解网站性能对销售额产生的影响。
逐个页面分析转换率:确定网站上哪些页面能够带来预期的响应或产生最大的收益,是了解网站是否符合业务目标的一种实用方法。
能耗:该指标用以说明维持网站运行所需要的能源开支。有些应用版本会增加CPU的使用率,这意味着需要使用更多的能源,付出更高的成本。
内容交付网络(CDN)的带宽使用率:用图形或图表方式显示CDN的带宽使用及其相应的费用,就可以清晰反映它的价值,也可用于对比CDN的每月账单。
技术团队应该准备一个简单易用的仪表板,然后将这些指标输入其上,供业务人员自助使用。业务人员不必再请求技术团队提供确认的指标。这些指标应该按需提供,并且要定期验证其准确性,因为指标报告有时候会出现错误。
性能测试是发布新应用程序的重要部分。在软件通过最终用户端的全面测试之前,软件工程师和运维人员都无法全面了解应用程序在不同负载场景的工作情况,也就是用户的真实使用为应用程序带来的负载。
质量保证(QA)部门并不负责执行性能测试,但是当Web应用程序交给QA进行测试时,他们可能还要运行基准测试和性能测试。性能测试由运维人员和开发人员负责执行,他们需要不断地测试性能;软件工程师需要使用一些微基准进行测试,而运维人员则需要开发并提供执行这些测试的工具。
由于生产网站会被许多用户访问,所以如果不使用测试工具,而直接测试网站在真实用户使用过程中的性能,唯一的方法就是使用真实浏览器进行监控。根据自己的市场,测试不同的互联网服务提供商以及在不同国家或地区内的访问性能。例如,只在美国开展业务,而且网站语言为英语,那么在美国各地监控网站的性能与可用性才有意义,而不需要在整个世界范围内监控。客户驱动业务,而对于业务的成功运维而言,能够准确把握网站的执行与访问情况则显得至关重要。
建立一个覆盖全国或全球的基础监控架构,监控并报告的性能,这是一项非常复杂与昂贵的工作,这恐怕只有 Facebook和 Google i这样的超大型公司才有条件实现。这种公司首先会开发一种监控基础架构去实现这种监控,然后在全国或全世界各地的数据中心部署节点,并且要管理和维护这个系统,这些可能需要完成大量的核心Web业务管理和维护工作。有许多第三方公司推出了执行这种职能的服务,更重要的是,这种服务必须要确实能够理解组织网站在公共互联网的运行方式。Web开发者需要理解客户对于网站性能的体验将如何影响业务,这样他们才能与业务人员沟通并共同决定,究竟哪些技术指标会对产生业务收益的网站有最大的影响。
可能您还想看