Azure-如何排查应用程序网关返回 HTTP Code 502 或客户端得到应用程序网关响应慢的问题(二)
问题描述
经过如何排查应用程序网关返回 HTTP Code 502 或客户端得到应用程序网关响应慢的问题(一)中的排查步骤,可以判断出是由于 Web 服务器自身问题导致的响应异常。
那么可以在 IIS 中开启 failed request tracing (以下以 FRT 代称) 功能来跟踪并分析此响应异常的原因。
具体步骤参考如下(本文以 Windows Server 2012 为例):
开启后,可以在 IIS manager 中对应的 sites 的面板中看到 Failed Request Tracing 选项,再在右侧的 action 面板中配置 FRT 的 rule。
配置 rule 之前,先开启并配置 trace file 最大数量:

配置 FRT rule:
配置匹配请求内容后缀:

这里为了尽量缩小诊断范围,可以考虑针对有问题的 URL 的请求配置匹配文件后缀名。
配置匹配条件:

这里有三种,status code,Timetaken,以及 event severity,这里的条件之间是与的关系,例如可以使针对 HTTP Response Code 200 但是 Timetaken 时间超过 5 秒的请求做 tracing.
配置跟踪提供程序:

配置完成后:

一旦问题出现,
%SystemDrive%\inetpub\Logs\FailedReqLogFiles\下面会有 .xml 文件生成,一个 .xml 文件对应一次请求的 tracing,请根据时间戳判断要分析的是哪一个请求。建议使用浏览器打开,如果要此 .xml 文件复制到其他 server 上分析,建议连通 freb.xsl 一起复制过去,因为此文件是 FRT log 的格式文件,当使用浏览器打开时,会按照此文件中的格式编排,可读性比较好。
打开任务管理器,记录当前 IIS 进程的 PID:

如果是多站点,可以根据应用程序池的名字来判断有问题的站点的进程的 PID。
再打开 FRT 的 .xml,可以根据 PID 来确认:

接下来可以点击 Request Details 来分析具体是哪一个环节 timetaken 长导致的延迟响应,从而锁定问题范围:

以上可以看到,trace 信息中将此请求的每一个细部均列出,并计算出每一步所花费的时间即 Timetaken,以及请求和返回信息的细节,如 header,handler 信息:

通过 trace 信息,可以帮助应用开发人员判断问题出在哪里,是否需要调整应用代码,或是调整哪部分代码,为最终解决此 web 应用本身的问题提供了必要信息。
Azure-如何排查应用程序网关返回 HTTP Code 502 或客户端得到应用程序网关响应慢的问题(二)的更多相关文章
- 为什么现在很多年轻人愿意来北上广深打拼,即使过得异常艰苦,远离亲人,仍然义无反顾? 谈谈程序员返回家乡的创业问题 利基市场就是那些不大不小的缝隙中的市场 马斯洛的需求无层次不适合中国。国人的需求分三个层次——生存、稳定、装逼。对应的,国内的产品也分三个层次——便宜、好用、装B。人们愿意为这些掏钱
信念.思考.行动-谈谈程序员返回家乡的创业问题 昨天晚上在微博上看了篇 <为什么现在很多年轻人愿意来北上广深打拼,即使过得异常艰苦,远离亲人,仍然义无反顾?>,有些话想说. 感觉很多人的担 ...
- 微信小程序支付返回信息为空
1.昨天公司说要实现微信小程序的支付,于是看了下微信小程序的开发api文档,和之前的app 端以及pc端基本相似:于是让他们把参数改了下,把之前的trade_type 由 app 改成 小程序要求的 ...
- Azure Front Door(三)启用 Web Application Firewall (WAF) 保护Web 应用程序,拒绝恶意攻击
一,引言 上一篇我们利用 Azure Front Door 为后端 VM 部署提供流量的负载均衡.因为是演示实例,也没有实际的后端实例代码,只有一个 "Index.html" 的静 ...
- TNS-12541: TNS: 无监听程序 TNS-12560: TNS: 协议适配器错误 TNS-00511: 无监听程序
文章转自:http://www.luocs.com/archives/464.html 此文版权归作者 – yaogang所有,转载请注明yaogang©www.luocs.com. Luocs说:这 ...
- 搭建QQ聊天通信的程序:(1)基于 networkcomms.net 创建一个WPF聊天客户端服务器应用程序 (1)
搭建QQ聊天通信的程序:(1)基于 networkcomms.net 创建一个WPF聊天客户端服务器应用程序 原文地址(英文):http://www.networkcomms.net/creating ...
- 用 MVC 5 的 EF6 Code First 入门 系列:MVC程序中实体框架的Code First迁移和部署
用 MVC 5 的 EF6 Code First 入门 系列:MVC程序中实体框架的Code First迁移和部署 这是微软官方SignalR 2.0教程Getting Started with En ...
- 小程序版好友对战实战-wss部署与小程序用户登录时序
上一篇文章是对需求的分析,本次将逐渐进入代码阶段.本次主要的内容包括服务端wss的部署以及小程序端用户授权的时序及逻辑. wss的配置与部署 微信小程序出于安全考虑,要求所有涉及到网络的操作,必须使用 ...
- 微信小程序通过api接口将json数据展现到小程序示例
这篇文章主要介绍了微信小程序通过api接口将json数据展现到小程序示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧实现知乎客户端的一个重要知识前提就是,要知道怎么通过 ...
- 百度定位SDK 返回error code : 162 latitude : 4.9E-324 lontitude : 4.9E-324
Android应用使用百度定位SDK 返回error code : 162 latitude : 4.9E-324 lontitude : 4.9E-324 在使用百度定位SDK时遇到一个非常郁闷的问 ...
随机推荐
- 如何1秒批量提取电脑文件夹中的所有文件、文件夹名字到txt/excel
01 在工作,我们经常会遇到这样的情况,有时候我们在一个文件夹中放了很多的文件,或者是这个文件夹中有很多的子文件夹,每一个子文件夹的名字又不同,也没有什么样的规律, 02 但是我们要整理一下这个文 ...
- Hdu4952 - Number Transformation - 数论(2014 Multi-University Training Contest 8)
寻找1~k内i的倍数.则这个数能够看成i*x,则下一个数为(i+1)*y,(i+1)*y>=i*x,那么能够推出.y=x-x/(i+1); 那么当x<i+1时,y==x.之后的循环也不会改 ...
- Centos7 yum安装Mysql5.7
1.下载mysql安装源 curl -LO http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 2.安装yum源 ...
- mysql 系统用户最大文件打开数限制
纸上得来终觉浅,绝知此事多宕机...记录一下自己很蠢的一次故障处理过程. 上周的时候,一个刚上线的系统又开始反映登不上了,因为最近这个系统也老是出现这个问题,开发也一直在找问题中,所以也没太在意.于是 ...
- lua通用数据类型
TValue结构 TValue这个结构体是Lua的通用结构体,,Lua中的所有的数据都可以使用这个结构体来表示.很容易想到,在面向对象中,这个结构体是一个基类,派生出来的都是其他的子类. TValue ...
- springboot-web进阶(一)——表单验证
一.概述 1.准备 先把快速入门篇的结构调整一下,按照自己的喜好或者要求调整: 2.需求 基于快速入门篇增加一个女生的需求,禁止添加未成年(18岁以下) 3.实现 第一步:在bean的属性上加对应约束 ...
- 20155202 张旭 课下作业: Linux下IPC机制
20155202张旭 Linux下IPC机制 IPC机制定义 在linux下的多个进程间的通信机制叫做IPC(Inter-Process Communication),它是多个进程之间相互沟通的一种方 ...
- 20155211 Exp1 PC平台逆向破解(5)M
20155211 Exp1 PC平台逆向破解(5)M 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入 ...
- 北京Uber优步司机奖励政策(4月20日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 【HNOI2014】画框
题面 题解 这又是一种套路啊233 将\(\sum a_i\)和\(\sum b_i\)分别看做\(x\)和\(y\),投射到平面直角坐标系中,于是就是找\(xy\)最小的点 于是可以先找出\(x\) ...