1. 程式人生 > >雲端計算之路-阿里雲上:排查“黑色30秒”問題-為什麼請求會排隊

雲端計算之路-阿里雲上:排查“黑色30秒”問題-為什麼請求會排隊

針對Web伺服器“黑色30秒”問題(詳見雲端計算之路-阿里雲上:Web伺服器遭遇奇怪的“黑色30秒”問題),經過分析,我們準備從這個地方下手——為什麼會出現\ASP.NET\Request Queued大於0的情況(為什麼請求會排隊)?

首先, 通過Windows效能監視器去觀察,看能不能找到這樣的線索——在什麼條件下會觸發請求排隊?

我們在效能監視器中增加了1個監視指標——\HTTP Service Request Queues\Arrival Rate

Arrival Rate: Rate at which requests are arriving in the queue

這是一個針對IIS的底層HTTP.SYS的監視指標,從我們的理解,認為它最直接地反映了到達IIS的當前要處理的併發請求。

啟用這個Arrival Rate監視指標後,我們觀察到了1次請求排隊的情況(非“黑色30秒”故障場景)。

上圖中跳起的藍色就表現出現了請求排隊。

我們來逐個指標看一下。

1. HTTP Service Request Queues\Arrival Rate(到達IIS底層的請求)

當時HTTP.SYS收到了465個併發請求。

2. Qequests/Sec(QPS,ASP.NET每秒處理的請求數)

當時ASP.NET的QPS是607。

3. Requests Queued(排隊的請求數)

【注意】出現請求排隊的時間點是11:03:54,而前2個指標高上去的時間點在11:03:55。

【重要線索】由此,我們可以得出這樣的線索:是先出現請求排隊(Requests Queued),然後才出現Arrival Rate與QPS上升。是請求排隊引起Arrival Rate與QPS上升,而不是Arrival Rate與QPS上升引起請求排隊。

接下來通過其他指標驗證這個想法。

4. Current Connections

IIS當前連線數高上去也在出現請求排隊之後。(成功驗證1)

5. CPU

CPU佔用也是在出現請求排隊之後才高上去的。(成功驗證2)

【分析結論】請求排隊才是問題的原因,而其他表現只是請求排隊後的結果表現。

那在11:03:54,請求排隊時,其他指標又是什麼情況呢?

1. ArrivalRate只有218

2. QPS只有151

3. Current Connections在15以下(具體數值在效能監視器上顯示不出來)

4. CPU佔用只有10%

太奇怪了!在請求排隊時,其他指標都處於低點——比正常情況更低的點。

更奇怪的是到達IIS的請求比平時變少了,請求反而排隊了。

【猜想】

從這個監視到的表現看,我們唯一能解釋得通的是:11:03:54,Web伺服器似乎在打瞌睡,處理能力全面下降;然後,11:03:55,Web伺服器醒了過來,處理能力全面恢復,這時不僅要處理當前的請求,還要處理之前排隊的請求,一下子負載就高了上去。

難道誰給Web伺服器下了藥?如果用的是物理機,我們真的會懷疑是誰下的藥?但現在用的是虛擬機器,在“被下藥”與“虛擬機器問題”之間,哪個更值得懷疑呢?。。。這個問題只能留給阿里雲的同學,我們再怎麼懷疑,也只能懷疑而已,無法在虛擬機器層面進行驗證。

【進一步的線索】

在寫這篇部落格的期間,1臺伺服器正好發生了“黑色30秒”,看看效能監視器中的相關表現:

1. Arrival Rate與Requests Queued

2. 加上Current Connections

3. 加上CPU

4. 加上Request Execution Time

而且這次接連來了2個“黑色30秒”。

【小結】

虛擬的世界很精彩,虛擬的世界也很無奈。從應用、從Windows的角度,我們真的不知從何處理下手,我們能做的只是找問題的線索。問題的解決可能真的需要阿里雲同學們的努力!

相關推薦

雲端計算-阿里排查黑色30”問題-為什麼請求排隊

針對Web伺服器“黑色30秒”問題(詳見雲端計算之路-阿里雲上:Web伺服器遭遇奇怪的“黑色30秒”問題),經過分析,我們準備從這個地方下手——為什麼會出現\ASP.NET\Request Queued大於0的情況(為什麼請求會排隊)? 首先, 通過Windows效能監視器去觀察,看能不能找到這樣的線索——

雲端計算-阿里對“黑色30”問題的猜想

在雲上,底層的東西你無法觸及,遇到奇怪問題時只能靠猜想,所以使用雲端計算會鍛鍊你的想像力。 (上圖中藍色是ASP.NET的Requests Queued,另外一個是HTTP.SYS的Arrival Rate) 昨天我們發現了一個重要的線索——“黑色30秒”到來時,最初的表現是請求出現排隊(Reques

雲端計算-阿里從ASP.NET執行緒角度對“黑色30”問題的全新分析

在這篇博文中,我們拋開對阿里雲的懷疑,完全從ASP.NET的角度進行分析,看能不能找到針對問題現象的更合理的解釋。 “黑色30秒”問題現象的主要特徵是:排隊的請求(Requests Queued)突增,到達HTTP.SYS的請求數(Arrival Rate)下降,QPS(Requests/Sec)下降,CP

雲端計算-阿里藉助IIS Log Parser Studio分析“黑色30”問題

今天下午15:11-15:13間出現了類似“黑色30秒”的狀況,我們用強大的IIS日誌分析工具——Log Parser Studio進行了進一步的分析。 分析情況如下—— 先看一下Windows效能監視器中的問題表現: 然後用Log Parser Studio分析07:11:55與07:13:55(

雲端計算-阿里結合IIS日誌分析“黑色30”問題

在昨天針對“黑色30秒”問題的分析中,我們猜測Requests Queued上升是由於正在處理的請求出不去(到達不了客戶端)。今天我們結合IIS日誌驗證這個猜測。 IIS日誌中有一個重要的指標——time-taken,time-taken不僅包含了請求在服務端執行的時間,還包含了響應的內容從服務端到達客戶端

雲端計算-阿里Web伺服器遭遇奇怪的“黑色30”問題

今天下午訪問高峰的時候,主站的Web伺服器出現奇怪的問題,開始是2臺8核8G的雲伺服器(ECS),後來又加了1臺8核8G的雲伺服器,問題依舊。 而且3臺伺服器特地使用了不同的配置:1臺是禁用了虛擬記憶體的臨時磁碟雲伺服器,1臺是啟用了虛擬記憶體的臨時磁碟雲伺服器,1臺是禁用了虛擬記憶體的雲盤雲伺服器。這樣排

計算-阿裏排查黑色30”問題-為什麽請求排隊

為什麽 9.png 發生 線索 sys 出現 啟用 TE .cn http://www.cnblogs.com/cmt/p/3682642.html 針對Web服務器“黑色30秒”問題(詳見雲計算之路-阿裏雲上:Web服務器遭遇奇怪的“

雲端計算-新篇章-出海記開篇

2012年10月30日,我們因為和阿里雲的合作,開始了雲端計算之路的第一篇章。 2020年10月30日,我們因為和 AWS 的合作,將開啟雲端計算之路的第二篇章——出海記。 我們將在 AWS 上建設園子的海外站,並將整個過程與大家分享。 我們很好奇,在阿里雲上開車7年多,在 A

雲端計算-出海記整一臺 aws 免費伺服器

上次蹭到一張船票,登上了 aws 這艘巨輪,今天要在船上的免費餐廳吃一頓免費晚餐 —— 整一臺 aws 免費套餐中的 EC2 伺服器體驗一下。 進入 EC2 控制檯,點選“啟動例項”,進入 AMI 系統映象選擇頁面,勾選“僅免費套餐”,從

雲端計算-試用Azure搭建自己的內網DNS伺服器

之前我們寫過一篇博文談到Azure內建的內網DNS伺服器不能跨Cloud Service,而我們的虛擬機器部署場景恰恰需要跨多個Cloud Service,所以目前只能選擇用Azure虛擬機器搭建自己的內網DNS伺服器。這篇博文分享的是我們在Azure上搭建自己的內網DNS

雲端計算-出海記蹭一張 aws 船票

出海記開篇之後,在 aws 上搭建部落格園海外站的出海計劃今天開始邁出第一步 —— 註冊一個 aws 海外區域賬號。 aws 現在針對新註冊使用者提供12個月免費套餐(正在園子裡推廣並提供了專屬註冊通道),正好借這個活動蹭一張有座的 aws 船票。 aws 中國區域與海外區域都有1

雲端計算-出海記-小目標Hello World from .NET 5.0 on AWS

品嚐過船上的免費晚餐,眺望著 aws 上搭建部落格園海外站的巨集偉目標,琢磨著眼前可以實現的小目標,不由自主地在螢幕上敲出了 —— "Hello World!",就從這個最簡單樸實的小目標開始吧 —— 用 ASP.NET Core on .NET 5.0 在 A

雲端計算-出海記命令列下的 AWS

俗話說“三百六十行,行行出狀元”,自從有了電腦之後,三百六十行又多了一行 —— 命令列。GUI 的誕生開創了繁榮的 PC “視窗”(windows)時代,網際網路的誕生給 GUI 家族增添新成員 Web UI,移動互相網的誕生又幫 GUI 家族生下了二胎 Mobile UI,但用情專一的程式設計師念念不忘的依

雲端計算-出海記建一個免費倉庫 Amazon RDS for SQL Server

上週由於園子[後院起火](https://www.cnblogs.com/cmt/tag/%E8%83%8C%E9%94%85%E6%A1%88/),不得不調兵回去救火,出海記暫時停更,這周繼續更新,“出海記”記錄的是我們在 AWS 上建設部落格園海外站的歷程。 在這一記中記錄的是我們基於 AWS [免費套

成為阿里架構師的進階——阿里首批ACE認證通過者逸疏專訪

自2018年3月阿里雲釋出雲端計算架構師ACE(Alibaba Cloud Certified Expert,阿里雲認證高階工程師)級別認證後,上線不到3個月,吸引了近百位業界優秀從業者參與考試。獲得阿里雲ACE認證,對於業界資深架構師來說,是自身實力的最好證明。阿里雲大學致

雲端計算-虛擬化環境搭建及虛擬機器建立

1. 前言 在計算機技術中,虛擬化(Virtualization)是一種資源管理技術,它將計算機相關的各種資源(CPU、記憶體、磁碟、網路介面卡等)進行抽象、轉換後重新分配使用,大大增加了使用的靈活性。虛擬化有很多類別,包括硬體虛擬化、作業系統級虛擬化、應用虛擬化、服務

計算-阿裏攻擊的受害者,阿裏的罪人

小時 影響 安全 流量攻擊 dos 今天 被人 .html logs 今天下午13:39-13:44開始,我們遭受了更大規模的攻擊,4臺負載均衡因被攻擊被阿裏雲雲盾屏蔽。在成為流量攻擊受害者的同時,也成為阿裏雲的罪人,因影響阿裏雲網絡穩定性的罪名被關入阿裏雲的大牢&mdas

計算-阿裏攻擊又來了,4個IP分別遭遇超過30G的流量攻擊

text htm 依次 lan cmt news 遭遇 target 正常 繼5月13日下午被攻擊之後,今天下午,攻擊又肆無忌憚地來了,14:35、14:39、14:40、14:41 ,依次有4個IP遭遇超過30G的流量攻擊,被阿裏雲“雲盾”關進

計算-阿裏彈性伸縮無服務器可彈,已有服務器無兵可援

cit spec -h ebs request sca 天上 chan binding 活動起因: A scheduled task executes scaling rule "eBsJ2veNkwJkcGinmICVH1Q", changing the Total

計算-阿裏重啟 manager 節點引發 docker swarm 集群宕機

node bili body 運行 nodes 服務 徹底 解決 ability 為了迎接春節假期後的訪問高峰,我們今天對 docker swarm 集群進行了變更操作,購買了1臺阿裏雲4核8G的服務器作為 worker 節點,由原來的 3 manager nodes +