取消
显示结果 
搜索替代 
您的意思是: 
cancel
1212
查看次数
4
有帮助
0
评论
julianchen
Spotlight
Spotlight
5.数据库和SQL查询的性能
如果应用程序用到了SQL数据库,那么你的每一次部署就需要考虑到所用SQL数据库的各种变更因素了。其中包括有:新增的SQL查询,和现有查询的修改等方面。
你应该持续跟踪那些被频繁使用的SQL查询,和在数据库服务器上对应使用量偏大的资源。记住:有时候,就算是对SQL查询的略微修改,也有可能会导致出现性能上的重要瓶颈!
6.各种与应用依赖性有关的性能
如今各种应用程序之间都有着广泛的相互依赖性,包括:SQL与NoSQL数据库、缓存、队列、存储、以及HTTP的web服务等。因此,密切关注所有这些依赖性的性能状态是非常重要的。与此有关的常见服务包括:Redis、Elasticsearch、以及MongoDB等。
同样地,就算是对应用代码的略微修改,也可能会导致在你的生产环境中,诸如Redis或HTTP Web服务的显著性能变化。因此,在有重大变更发生的时候,请你留意部署前后的性能差异。
7.内部通信(Slack)
软件部署成功的一个关键因素就是通信。如果使用Stackify,我们会在很大程度上依赖Slack作为公司内部的各种通信的中枢,当然也包括所以进行的部署。
我们会有一个#deployments的Slack通道,任何人都可以籍此监控部署前、部署中和部署后的准确状况。同时,我们也可以在部署的过程中使用Bamboo的自动化Slack警告提醒功能。
众所周知,软件部署并非简单的一键推送。举例而言,如果使用Stackify进行部署的话,我们必须首先将各种SQL的更改脚本推送到超过1000个数据表中。之后,我们还必须在自己的架构内对10台不同的web和后台服务的应用程序进行部署。可见,这是一个相当耗时的过程。
因此,在Slack的各个通道上进行有效的通信,将有助于项目组的每个人保持同步。任何人只要想监控的某个进展,就都可以进行随时追踪。
8.回归测试
在完成了新代码的推送之后,我们进行一些最后的回归测试是很有必要的。它们既可以是自动化的综合测试,也可以是我们自己进行的快速测试。对我自己而言,即使用到了像Retrace这样的工具来全程监控自己的应用程序,我也会自己登录进去,在一些关键页面上四处点击一下,以求心理安慰和技术确认。
当然,许多组织也有自己的一整套流程去验证发布,并进行回归测试。他们一般会在QA阶段反复进行多轮测试。同时,在告知客户进行各种补丁的部署之前,他们通常也会针对各种bug的修复效果进行重复性的测试。
如果你已经有了自动化的测试,那么对于它们的监视正好适用于本文所涉及的内容。如果没有的话,请务必通过Slack的监视,来顺利完成各种最终的回归测试与验证。
总结
软件部署是我们努力工作的一次成果检验。但是其错误代码的所包含的潜在风险也会让我们倍感压力。因此,我们持续对软件进行全程监控是非常有必要的。通过使用Retrace这样的解决方案,我们将能够快速定位新出现的问题,并能量化出错率、性能等方面的异常。
【原标题】 8 Things to MonitorDuring a Software Deployment (作者: Matt Watson )
原文链接: https://dzone.com/articles/8-things-to-monitor-during-a-software-deployment

相关阅读:
【小目标,一个“译”】+ 软件部署中需要监视的八个方面(1)
入门指南

使用上面的搜索栏输入关键字、短语或问题,搜索问题的答案。

我们希望您在这里的旅程尽可能顺利,因此这里有一些链接可以帮助您快速熟悉思科社区:









快捷链接