软件生产环境系统监控方案设计.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件生产环境系统监控方案设计架构之家微信号 itfly8功能介绍 ITFLY8架构之家,专注于架构知识分享交流,涵盖项目管理和产品设计。包括大型分布式网站架构(高性能,高可用,缓存,消息队列...),设计模式,架构模式,大数据,项目管理(SCRUM,PMP,Prince2),产品设计等作为软件开发人员,我们的最终目标是让自己的辛勤工作能顺利部署到生产环境中。如今凭借敏捷开发、DevOps和连续部署工具,我们已经能够让此过程变得比以往更快速了!但是,我们需要记住的是:软件部署更是一个过程,而非单一的事件。因此,作为该过程的一部分,你需要监视生产环境中的各种服务器和应用程序,以确保每一步都能够平稳运行。在本文中,将讨论在软件部署过程中应该监控的八个关键方面。1.了解你的错误率程序错误是识别应用程序问题的第一道防线。因此,在所有监控范围内的服务器上,开发者需要收集出现的全部错误。这些错误将有助于准确定位那些在部署新的软件应用时出现的问题。当然,在部署过程中,它们还会产生大量的“噪声”。比如:在部署的环节中,应用程序中途被重新启动是很常见的情况。因此,这些都可能会导致大量的,诸如:SQL连接问题、线程中止异常、以及其他类型的短暂错误。提示:在部署之前,掌握自己应用程序的标准错误率是非常重要的。这样你就可以判断出在部署之后,各种问题是成上升趋势,还是仍然保持着正常的错误率。提示:寻找那些你从未见过的、新的应用程序错误。有趣的是,那些新产生的、空的引用异常,SQL的超时,或其他出现的错误,都会随着新的部署而浮出水面。所以你需要迅速找到它们,并为修复它们做好准备。注意:请重点关注那些通过你的代码本身所记录下来的、由应用程序异常所产生的HTTP 4XX和5XX的错误。2.比较Web流量和页面加载时间你的应用消耗了多少流量?其普通页面加载时间是多少?这些都是你应该部署之前和之后需要监测的关键指标。如果你突然碰到了大量的流入或流出数据,那么肯定是某处出了问题。一般情况下,这种高额流量的涌入会意味着:用户碰到了错误,而且无法在你的应用程序中跳转到其他页面。这同样会降低你的网站的总体用户体验。有时候你甚至还没有开始进行部署,这类问题就已经在应用程序自我显现了。例如:如果你的应用程序使用了微服务的架构,或是用到了很多内部HTTP的Web服务调用,那么在新的部署中,对于其他应用程序的下行流量则会有明显的变化。因此,请留心观察它们的流量水平,以确保不会发生显著的变化。3.追踪你的应用性能指标或是客户满意度评分监测你的应用程序性能指标或客户满意度评分,是掌握其运行状况的一种非常好的“号脉”方式。Stackify公司的Retrace产品就可以实现对客户满意度得分的自动跟踪。这些评分是基于各种Web请求的响应效率,即有多少是快速、停滞、缓慢、以及失败得出的。通过简单的数学公式,它可以帮助你了解到软件的整体性能。可见,请求跟踪是业内的普遍实践模式。使用Stackify,我们的目标是要使评分达到99%。通过那些需要持续监视的指标,你可能会发现在部署的过程中分数会略有下降。这并没关系,只要你能保证在部署之后,分数能够恢复到正常水平便可。4.服务器的数量、负载和CPU使用率就算部署到云端,CPU使用率和整体的服务器负载仍然是不可忽视的因素。有时候,略微的代码变更就会导致CPU使用率和整体性能上的巨大差异。这种现象在那些能够横跨多台服务器,以进行扩展的应用程序上尤为明显。比如说:我们对于某处一些代码的调整,就会直接导致在另一处整体服务器数量的减少。因此,留意你所需要运行应用程序的服务器数量,以及各台服务器上的CPU负载和它们的使用率是非常重要的。5.数据库和SQL查询的性能如果应用程序用到了SQL数据库,那么你的每一次部署就需要考虑到所用SQL数据库的各种变更因素了,其中包括:新增的SQL查询和现有查询的修改等方面。你应该持续跟踪那些被频繁使用的SQL查询和在数据库服务器上对应使用量偏大的资源。记住:有时候,就算是对SQL查询的略微修改,也有可能会导致出现性能上的重要瓶颈!6.各种与应用依赖性有关的性能如今各种应用程序之间都有着广泛的相互依赖性,包括:SQL与NoSQL数据库、缓存、队列、存储、以及HTTP的Web服务等。因此,密切关注所有这些依赖性的性能状态是非常重要的。与此有关的常见服务包括:Redis、Elasticsearch以及MongoDB等。同样地,就算是对应用代码的略微修改,也可能会导致在你的生产环境中,诸如Redis或HTTP Web服务的显著性能变化。因此,在有重大变更发生的时候,请你留意部署前后的性能差异。7.内部通信(Slack)软件部署成功的一个关键因素就是通信。如果使用Stackify,我们会在很大程度上依赖Slack作为公司内部的各种通信的中

文档评论(0)

智慧IT + 关注
实名认证
内容提供者

微软售前技术专家持证人

生命在于奋斗,技术在于分享!

领域认证该用户于2023年09月10日上传了微软售前技术专家

1亿VIP精品文档

相关文档