【Azure Cloud Services】云服务频繁发生服务器崩溃的排查方案
问题描述
云服务(Cloud Services)在使用期间,频繁发生崩溃事件,在崩溃期间,查看CPU负载为100%,而且同时伴随以下情况:
- 部署在云服务上的应用无法访问
- 远程连接云服务实例(RDP)访问黑屏,无法加载或Busy状态
排查方案
在问题的关键点中,CPU负载达到了100%。所以首先需要排查如下几点:
- 当前云服务是单实例还是多实例?
- 实例的机型是小还是大?是什么型号的机器呢?
- 实例中运行的服务是不是非常耗费CPU?
- CPU出现满负载的情况是否有时间规律?
- 部署在云服务上的应用请求量是否与CPU100%的规律一致?
针对以上每一点,采用不同的解决方案。
一:修改云服务的实例数量
有多种方式修改云服务实例的数量。在门户中直接修改或修改云服务配置文件ServiceConfiguration.Cloud.cscfg中<Instances count="1" />数量
- 云服务门户 -> 配置

- 修改ServiceConfiguration.Cloud.cscfg后重新发布

二:修改云服务中实例机型的大小和型号
ServiceDefinition.csdef 文件指定 Azure 用于配置云服务的设置,在其中可以指定A,D,E等不同的系列机型。修改完成后重新打包云服务并进行部署。
- A系列:https://docs.azure.cn/zh-cn/cloud-services/cloud-services-sizes-specs#a-series
- D系列:https://docs.azure.cn/zh-cn/cloud-services/cloud-services-sizes-specs#d-series
- E系列:https://docs.azure.cn/zh-cn/cloud-services/cloud-services-sizes-specs#ev3-series
修改方式如下:

三:查看实例中具体是那个进程消耗CPU最高及时间规律
在CPU高的情况下RDP到当前实例上,打开任务管理器,到进程选项,看一下是哪个进程占用的CPU比较高,这是当前直观的方式之一。其他方式还包含:
- 开启Performance Monitor并设置抓取进程,详细步骤参考文章:【Azure微服务 Service Fabric 】在SF节点中开启Performance Monitor及设置抓取进程的方式
在Azure中开启Application Insights收集 Azure 云服务的性能计数器, 详细步骤参考文章:Application Insights
Performance Monitor 配置页面:

四:当CPU消耗与部署在云服务中的应用相关时,通过获取应用DUMP文件来判断CPU的具体消耗
当判断出是由于某个进程而引起的CPU消耗过高,但是需要进一步分析改进程为何会占用如此多资源时。就需要借助抓取dump和分析dump的工具,如:Procdump(抓取),DebugDiag(分析)
Procdump抓取Dump的运行下面的命令如下:
procdump.exe -ma 9332 -c 90 -s 30 -n 3 参数说明: -ma: 表示抓full dump -c: 设置CPU的阈值,比如例子中阈值是90% -s: CPU 连续超过阈值的时间长度,比如例子中是30s,即只有在这个进程连续占用CPU 超多90%且持续30s才会抓dump; -n: 抓dump的数量,比如3
9332 是进程id
参考资料
【Azure Cloud Services】云服务频繁发生服务器崩溃的排查方案的更多相关文章
- Windows Azure -Azure 网站、云服务和虚拟机的对比
Azure 网站.云服务和虚拟机对比 概述 Azure提供了几种方法来承载网站: Azure网站.云服务和虚拟机.本文帮助您了解选项和为您的Web应用程序做出正确选择. Azure网站是大多数web应 ...
- How to use VS2012 remote debug Windows Azure Cloud Services
Background: Windows Azure Cloud Services 可以在本地调试,使用Visual Studio 2012 + 模拟器 Emulator.但是模拟器的工作状态和环境和真 ...
- Azure 网站、云服务和虚拟机比较
最后更新时间(英文版):09/24/2014 最后更新时间(中文版):04/11/2015 Azure 提供几种方式托管 web 应用程序,如 Azure 网站.云服务和虚拟机.查看这些不同的选项后, ...
- Windows Azure移动终端云服务管理(公测版)
概览 云在远方,管理在您手中.在这个移动为先 云为先的世界,服务不再是基于请求才提供,而是主动来到身边方便您的模式了.我们最近将会陆续推出几大移动端利器帮助您随时随地管理您的云服务. 首批利器之中排名 ...
- 继收购Magento十个月,Adobe推出Commerce Cloud商务云服务
去年 5 月,软件巨头 Adobe 以 16.8 亿美元的价格,受过了 Magento .在经历了十个月的业务整合后,该公司终于推出了全新的 Commerce Cloud 商务云服务.据悉,其本质上是 ...
- Windows Azure中WebSite 网站, Cloud Service 云服务,Virtual Machine 虚拟机的比较
在Windows Azure服务平台里,Web Site特点是: 在Windows Azure上构建高度可扩展的Web站点. 快速.轻松部署一个高度可扩展的云环境,并且可以从很小的规模开始. 使用您所 ...
- Windows Azure虚拟机和云服务实例计费方式更新
在之前的Windows Azure计费账单中,A0,A1,A2,A3,A4系列的虚拟机(云服务实例)都是以A1为基准计费单位的,即: 虚拟机大小 计费单位(小时) A0 A1*0.25 A1 A1*1 ...
- 记一次腾讯云不能连接DNS服务器的问题排查过程
由于腾讯云在使用过程中需要用到yum,在yum安装软件的时候报错不能连接到源的网站.当时经过排查发现域名没有解析.有可能是DNS服务器问题或者我的腾讯云DNS配置出现问题. 所以我查看了/etc/re ...
- microsoft azure Media Services 媒体服务解决方案
用安全的方式为您随时随地跨设备传送媒体内容.提供可伸缩的端到端媒体解决方案 可用于高级视频工作流的云 实现奥运会规模的直播与点播媒体传送 高可用的编码和流式处理 支持 Flash.iOS.Androi ...
- linux云服务搭建Minecraft服务器
1 准备工作 以下内容全部要在root用户内完成 1.1 安装文件传输工具 为了方便传文件到服务器上,这里先装一个远程传输工具. yum -y install lrzsz 1.2 安装java Min ...
随机推荐
- Spring缓存是如何实现的?如何扩展使其支持过期删除功能?
前言:在我们的应用中,有一些数据是通过rpc获取的远端数据,该数据不会经常变化,允许客户端在本地缓存一定时间. 该场景逻辑简单,缓存数据较小,不需要持久化,所以不希望引入其他第三方缓存工具加重应用负担 ...
- 浅浅的源码剖析grpc-go(一)
最近在学习 rpc 相关的知识,如果让我去从头设计一个 rpc,我从使用者的角度出发,究竟需要去做一下什么工作? 第一,RPC 本质上就是一个远程调用,那肯定就需要通过网络来传输数据.虽然传输协议可以 ...
- 如何在proto3中用上golang对应的interface{}类型
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 首先,我希望所有golang中用于http请求响应的结构, ...
- 虚幻引擎 4 学习笔记 [1] :蓝图编程 Demo
虚幻引擎 4 学习笔记 [1] :蓝图编程 Demo 最近学习虚幻引擎,主要看的是 Siki 学院的课,课程链接:Unreal蓝图案例 - 基础入门 - SiKi学院|SiKi学堂 - unity ...
- PaddleNLP基于ERNIR3.0文本分类以中医疗搜索检索词意图分类(KUAKE-QIC)为例【多分类(单标签)】
相关项目链接: Paddlenlp之UIE模型实战实体抽取任务[打车数据.快递单] Paddlenlp之UIE分类模型[以情感倾向分析新闻分类为例]含智能标注方案) 应用实践:分类模型大集成者[Pad ...
- 2023中国高校计算机大数据挑战赛:论文学科分类baseline|清华主办
2023中国高校计算机大数据挑战赛:论文学科分类baseline|清华主办 官方地址:https://www.heywhale.com/home/competition 项目码源见文末 1.比赛介绍 ...
- window hadoop yarn任务执行失败:ExitCodeException exitCode=-1073741515
环境 window server 2019 单机版hadoop3.3.1 和 winutils.exe 异常 winutils.exe task create -m -1 -c -1 continer ...
- Gitee一个仓库存储多个项目
需求: 平时会做一些小项目,有时候一个小项目就几行代码,十几K的项目,给这些小项目建一个库保存太奢侈了太浪费了,所以换个思路,根据项目类型来创建库,然后每个小项目以孤立分支的方式存到该库中,这 ...
- .NET 云原生架构师训练营(模块二 基础巩固 Host)--学习笔记
2.2.4 核心模块--Host 什么是 Host Host 的默认配置做了哪些事情 框架提供的服务 HostedService 后台服务 ASP.NET Core Web 主机:https://do ...
- 《ASP.NET Core 与 RESTful API 开发实战》-- (第9章)-- 读书笔记(下)
集成测试 集成测试能够确保应用程序的组件正常工作,包括应用程序支持的基础结构,如数据库和文件系统等 进行集成测试时,应为项目添加 Microsoft.AspNetCore.MvcTesting 包 它 ...