问题排查

Articles about how to troubleshooting problems on Microsoft Azure Websites platform.


Azure Management Automation

Microsoft Azure提供了强大的管理门户网站,您可以通过管理门户网站来管理您的Azure服务、网站和存储等等。但是,很多情况下,客户更希望能够通过自动化来提高效率。

  • 人类厌恶重复的工作

如果您需要通过管理门户网站创建100个站点,这是一件令人筋疲力尽的工作。如果您还需要为每个站点指定对应的自定义域名,上传证书,修改配置,这将是令人崩溃的一件差事。

  • 通过门户操作效率低,速度慢

同上,通过管理门户进行大批量和重复性的操作的时候不仅费力,而且费时间。

  •  人类会犯错

当人类进行大批量,重复性的操作时,很容易犯错。

  •  机器/现有软件系统不能指挥人类

现有的IT系统不能通过指挥人类来集成并管理部署在Azure上的资源。
继续阅读


kudu process explorer

前面的文章中,我们提到了dump文件分为两大类:
Crash Mode Dump和Hang Mode Dump。Crash模式主要用于排查应用程序或者系统崩溃的问题,比如应用程序异常,崩溃,闪退;Windows系统蓝屏错误等。当收集用户态进程的Crash模式的内存转储文件时,dump收集工具需要附加(attach)到目标进程并监听异常。当异常发生时,dump收集工具接收到异常消息后将目标进程的内存保存到文件中。

继续阅读


前面三篇文章分别介绍了如何利用Kudu Process ExplorerKudu Rest APIKudu Console+ProcDump来手工抓取内存转储文件。

实际中,很多性能问题随机发生,并且仅仅持续一段时间。当问题发生后,IT管理员或者开发人员来不及采取任何措施抓取数据,可能就已经恢复了。在本文将介绍当网站性能下降时如何自动抓取dump文件。
继续阅读


kudu - process explorer -- process id

通常,在Azue网站中,当下列情景发生时,Hang模式的内存转储文件可以帮助技术人员查找问题原因:

  • 请求响应缓慢 — 比如网站耗费很长的时间处理HTTP请求
  • 资源利用率过高 — 比如CPU、Memory等资源使用率很高
  • 资源泄露 — 比如Memory使用量持续上升

关于更多内存转储文件收集、分析的内容,请访问www.debugging.com.cn

在上一篇文章中,介绍了使用Kudu Process Explorer收集Hang模式的内存转储文件。同时,也提到Kudu Process Explorer收集的是mini dump,该文件包含极其有限的信息。很多情况下,我们需要一个full dump(完整的内存转储文件)分析问题。在本文中,将介绍如何使用Kudu Rest API来收集Hang模式的full dump。

继续阅读


通常,在Azue网站中,当下列情景发生时,Hang模式的内存转储文件可以帮助技术人员查找问题原因:

  • 请求响应缓慢 — 比如网站耗费很长的时间处理HTTP请求
  • 资源利用率过高 — 比如CPU、Memory等资源使用率很高
  • 资源泄露 — 比如Memory使用量持续上升

关于更多内存转储文件收集、分析的内容,请访问www.debugging.com.cn
继续阅读

kudu - process list

关于更多内存转储文件收集、分析的内容,请访问www.debugging.com.cn

内存转储文件,顾名思义,就是将内存中的数据转储保存在转储文件中(通常为.dmp文件),技术人员可以通过分析该文件查找软件错误的原因。收集内存转储文件时,通常需要登录到问题机器运行特定的工具。下面的文档列出了几个常用工具。
Choosing the Best Tool
http://msdn.microsoft.com/en-us/library/windows/hardware/ff539117(v=vs.85).aspx

内存转储文件是一个比较冷门的概念,即使一些资深的技术人员也可能对此很生疏。在开始之前,我们介绍一下内存转储文件的基本概念。内存转储文件相当于一个内存的snapshot,在特定问题发生的时候对进程或者整个系统的内存状态进行一次“照相”,将当前的内存状态保持到文件中。这个文件就称为内存转储文件,通常是.dmp文件。内存转储文件包含进程或者系统的瞬时状态,比如当前正在执行的函数、CPU指令等,以及内存、句柄、CPU等资源的使用情况等等。
继续阅读