婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > SqlServer應用之sys.dm_os_waiting_tasks 引發的疑問(中)

SqlServer應用之sys.dm_os_waiting_tasks 引發的疑問(中)

熱門標簽:臺灣外呼系統軟件 樂昌電話機器人 南通智能外呼系統怎么樣 真3地圖標注 南京怎么申請400這種電話 地圖標注可以編輯地名嗎 濮陽清豐400開頭的電話申請 地圖標注跑線下市場 疫情時期電話機器人

 通過上篇文章給大家介紹了SqlServer應用之sys.dm_os_waiting_tasks 引發的疑問(上) ,說了一下sys.dm_exec_requests 和 sys.dm_os_waiting_tasks 在獲取并行等待的時候得不同結果,這一篇我們談論下我的第二個疑問:為什么一個并行計劃(4線程)卻一下出現了那么多等待,SQL的并行到底是怎么執行的!!!!

    先貼以下上篇sys.dm_os_waiting_tasks 的結果圖:

     我們分析一下這個結果的task_address 可以看出去掉重復其實只有9個,也就是說一個并行(4線程,配置不同,情況也不同)會有9個task。 又是線程,又是task ,還有worker,schedulers 這些都是什么? 這個有必要先說一下,因為這篇博客前我也是亂亂的。

 scheduler

對于每個邏輯CPU,SQLSERVER會有一個scheduler與之對應,在SQL層面上代表CPU對象,只有拿到scheduler所有權的任務worker才能在這個邏輯CPU上運行

所謂邏輯CPU,就是SQLSERVER從Windows層面上看到的CPU數目,如果是一個雙核的CPU,那么一個物理CPU在SQL看來就是兩個邏輯CPU。如果系統還使用了

超線程hyper-threaded ,那對SQLSERVER來講就是4個邏輯CPU

規則: 每個scheduler上的最大worker數目等于SQLSERVER的最大線程數除以scheduler的數目 ,在同一個時間點,只能有一個擁有scheduler的worker處于運行狀態,其他worker都必須處于等待狀態。這樣能降低每個邏輯CPU上的處于正在運行狀態的線程數目,降低context switch,提供可擴展性scheduler是SQLSERVER的一個邏輯概念,他不與物理CPU相綁定。也就是說,一個scheduler可以被Windows安排一會兒在這個CPU上,一會兒在那個CPU上。

 但是,如果在sp_configure里設置了CPU affinity mask,那么scheduler就會固定在某個特定的CPU上

worker

每個worker跟一個線程(或纖程fiber)相對應,是SQLSERVER任務的執行單位。SQLSERVER不直接調度線程/纖程,而是調度worker,使得SQLSERVER能夠控制

任務調度

規則: 每個worker會固定代表一個線程(或纖程),并且和一個scheduler相綁定。如果scheduler是固定在某個CPU上的(通過設置CPU affinity mask),那么worker也會固定在某個CPU上每個scheduler有worker的上限值,并且可以根據SQLSERVER工作負荷創建或釋放worker,每次worker都會去運行一個完整的任務(task)。在任務做完之前不會退出,除非這個任務主動進入等待狀態。

scheduler只在有新任務要運行,而當前沒有空閑的worker的情況下,才會創建新的worker。

某個worker空閑超過15分鐘,scheduler可能會刪除這個worker,以及其對應的線程。當SQLSERVER遇到內存壓力的時,也會大量刪除處于空閑狀態的worker,以節省multi-page的內存開銷各種CPU和SQLSERVER版本組合自動配置的最大工作線程數CPU數                 32位計算機                        64位計算機
=4                     256                                  512
8                          288                                  576
16                        352                                  704
32                        480                                  960

task

在worker上運行的最小任務單元。最簡單的task就是一個簡單batch。例如,客戶發過來下面的請求:

 SELECT @@SERVERNAME
 GO
 SELECT GETDATE()
 GO 

那么這兩個batch就分別是兩個task。SQLSERVER會先分配給第一個batch(select @@servername)一個worker,將結果返回給客戶端,再分配第二個batch

(select getdate())一個worker。這兩個worker可能是不同的worker,甚至在不同的scheduler上只要一個task開始運行,他就不會從這個worker上被移出。例如,如果一個select語句被其他連接阻塞住,worker就不能繼續運行,只能進入等待狀態。但是這個select task 不會將這個worker釋放,讓他做其他任務。所以結果是這個worker所對應的線程會進入等待狀態

yielding

 SQLOS的任務調度算法的核心,就是所有在邏輯scheduler上運行的worker都是非搶占式的 (non-preemptive)。worker始終在scheduler上運行,直到他運行結束,或者主動將scheduler讓出給其他worker為止。這個“讓出”scheduler的動作,我們叫yieding每個scheduler都會有一個runnable列表,所有等待CPU運行的worker都會在這個列表里排隊,以先進先出的算法,等待SQL分配給他scheduler運行SQLSERVER定義了很多yieding的規則,約束一個task在scheduler運行的時間。如果task比較復雜,不能很快完成,會保證task在合適的時間點做yieding,不至于占用scheduler太多時間。

常見時間點:

1、當worker每次要去讀數據頁的時候,SQLSERVER會檢查這個worker已經在scheduler上運行了多久,如果已經超過4ms,就做yielding

2、每做64KB的結果集排序,就會做一次yielding

3、在做語句編譯compile的過程中(這個過程比較占CPU資源),經常會有yieding

4、如果客戶端不能及時把結果集取走,worker就會做yieding

5、一個batch里的每一句話做完,都會做一次yieding

正常來講,哪怕一個task要做很久,他使用的worker是會經常做yieding的,不會長時間占用CPU不放。如果在一個scheduler上同時有很多worker要運行,SQLSERVER通過worker自動yielding的方式調度并發運行。這個比Windows用上下文切換context switch更有效

    另附一張手繪圖

    另外推薦一篇 SQL SERVER SQLOS的任務調度 微軟亞太的官方博客

    我們大概了解了一下SQL SERVER SQLOS的任務調度 我們回到我們的并行話題看一下這個并行執行的調度情況: 


    一個并行處理分配給了9個task,同時也啟用了9個worker,由4個scheduler調度,每個scheduler分別由一個申請數據,另一個等待。那么申請數據的是可以理解的,等待的是干什么的呢?個人理解和當前的執行計劃有關,4個線程取得數據后要做匯總的操作SQL不會等待數據獲取以后再開啟線程接收,而是接收線程在獲取數據的時候等待。

     

 疑問得到解決了么?因為已經標記為中篇,可見還是有疑問呀!!!!我們繼續下一篇吧....

您可能感興趣的文章:
  • SqlServer應用之sys.dm_os_waiting_tasks 引發的疑問(上)
  • SQL Server 2016里的sys.dm_exec_input_buffer的問題

標簽:福建 通遼 廣安 馬鞍山 南京 阿里 河北 陜西

巨人網絡通訊聲明:本文標題《SqlServer應用之sys.dm_os_waiting_tasks 引發的疑問(中)》,本文關鍵詞  SqlServer,應,用之,sys.dm,waiting,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SqlServer應用之sys.dm_os_waiting_tasks 引發的疑問(中)》相關的同類信息!
  • 本頁收集關于SqlServer應用之sys.dm_os_waiting_tasks 引發的疑問(中)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    26uuu成人网一区二区三区| 欧美一区二区三区在| 欧美在线色视频| 中文字幕在线一区免费| 国产成人自拍网| 国产精品乱子久久久久| 91蜜桃在线观看| 一区av在线播放| 制服.丝袜.亚洲.中文.综合 | 99久久精品国产一区二区三区| 欧美激情一区二区三区四区| 成人蜜臀av电影| 亚洲精品免费看| 欧美一区二区三级| 国产一区二区三区蝌蚪| 亚洲欧美在线视频观看| 欧美日韩国产高清一区| 国产在线播放一区三区四| 中文字幕欧美日韩一区| 欧美三级韩国三级日本三斤| 精品一区二区三区免费毛片爱| 国产精品视频线看| 91精品在线一区二区| 国产成人亚洲综合a∨猫咪| 中文字幕永久在线不卡| 亚洲精品一区二区三区福利| 成人v精品蜜桃久久一区| 亚洲va中文字幕| 国产欧美日韩精品一区| 精品视频一区二区不卡| 成人激情图片网| 美女网站在线免费欧美精品| 综合激情网...| 日韩精品一区二区三区在线| 一本色道久久综合精品竹菊| 久久国产精品免费| 日韩经典中文字幕一区| 亚洲欧美一区二区三区国产精品| 精品电影一区二区三区 | 国产精品一区在线观看你懂的| 亚洲免费大片在线观看| 久久精品一二三| 欧美一区二区三区免费| 91国偷自产一区二区三区成为亚洲经典| 久久99精品国产| 日韩高清一级片| 亚洲成人免费视频| 亚洲欧美福利一区二区| 中文字幕国产一区| 久久久久免费观看| 欧美r级电影在线观看| 欧美日韩国产一级| 91蜜桃网址入口| 色综合久久久久久久久久久| 成人性生交大片免费| 国产乱淫av一区二区三区| 午夜精品视频一区| 亚洲成a人在线观看| 一区二区三区四区五区视频在线观看| 中文字幕成人在线观看| 欧美国产欧美综合| 国产精品久久久久久久久图文区| 国产视频一区二区在线观看| www国产精品av| 日本一区二区三区电影| 国产精品嫩草99a| 中国色在线观看另类| 亚洲国产成人在线| 亚洲免费毛片网站| 天天做天天摸天天爽国产一区| 肉色丝袜一区二区| 美国av一区二区| 国产精品综合二区| 成人黄色小视频在线观看| av在线不卡电影| 欧美性生活影院| 91精品国产综合久久久蜜臀图片 | 日本高清成人免费播放| 欧美亚洲免费在线一区| 欧美肥胖老妇做爰| 久久久精品2019中文字幕之3| 国产三级精品视频| 中文字幕亚洲视频| 丝袜亚洲另类欧美| 国产一区二区电影| caoporn国产精品| 欧美色男人天堂| 欧美电影精品一区二区| 国产精品视频你懂的| 午夜精品视频一区| 国产a精品视频| 欧美日韩国产一级二级| 久久久99精品久久| 亚洲一区在线看| 精品在线视频一区| 日本久久一区二区| 2020国产精品| 一区二区三区国产精华| 国产一区二区不卡| 欧美四级电影网| 国产欧美日产一区| 日本成人中文字幕在线视频| 成人sese在线| 精品区一区二区| 亚洲大片一区二区三区| 成人毛片在线观看| 欧美videofree性高清杂交| 亚洲精品日韩综合观看成人91| 麻豆成人在线观看| 欧美吞精做爰啪啪高潮| 国产精品情趣视频| 国产呦精品一区二区三区网站| 欧美自拍丝袜亚洲| 国产精品初高中害羞小美女文| 三级在线观看一区二区| 91久久精品午夜一区二区| 久久精品欧美一区二区三区不卡 | 欧美色视频一区| 亚洲情趣在线观看| 成人av在线网| 国产拍揄自揄精品视频麻豆| 久久精品理论片| 日韩欧美一区二区免费| 亚洲午夜视频在线观看| 91看片淫黄大片一级| 国产精品美女久久久久aⅴ| 国产伦精品一区二区三区免费| 欧美一二三四在线| 蜜臀av在线播放一区二区三区| 欧美天堂一区二区三区| 亚洲永久精品国产| 欧美亚洲国产bt| 一区二区在线看| 色婷婷综合五月| 亚洲一区在线电影| 91福利资源站| 亚洲成人黄色影院| 9191久久久久久久久久久| 五月激情综合色| 欧美人妖巨大在线| 日韩**一区毛片| 日韩精品一区二区三区蜜臀| 九九九久久久精品| 久久九九久久九九| 不卡电影免费在线播放一区| 中文字幕在线视频一区| 91麻豆产精品久久久久久| 国产麻豆精品在线| 久久综合网色—综合色88| 成熟亚洲日本毛茸茸凸凹| 亚洲欧美电影一区二区| 在线播放一区二区三区| 韩国精品久久久| 中文字幕不卡三区| 色婷婷久久一区二区三区麻豆| 亚洲妇女屁股眼交7| 欧美成人猛片aaaaaaa| 国产精品亚洲а∨天堂免在线| 国产精品私房写真福利视频| 在线视频观看一区| 精品亚洲免费视频| 亚洲乱码日产精品bd| 日韩欧美国产一区二区在线播放| 国产精品一区二区三区99| 国产精品久久777777| 欧美三级蜜桃2在线观看| 九一九一国产精品| 中文字幕在线观看不卡| 日韩一卡二卡三卡国产欧美| 成人免费视频国产在线观看| 亚洲成人av一区| 欧美激情在线一区二区| 欧美精品 国产精品| 成人激情黄色小说| 毛片av一区二区| 亚洲精品久久嫩草网站秘色| 久久精品男人的天堂| 欧美精品一卡二卡| 成人国产一区二区三区精品| 日韩主播视频在线| 亚洲日韩欧美一区二区在线| 日韩三级.com| 欧美性生交片4| www.亚洲精品| 国产一区999| 日韩av成人高清| 亚洲一区在线电影| 亚洲欧洲另类国产综合| 精品国产不卡一区二区三区| 97精品久久久午夜一区二区三区| 久久99国产精品尤物| 婷婷国产v国产偷v亚洲高清| 日韩一区在线免费观看| 欧美—级在线免费片| 精品国产sm最大网站免费看| 欧美日韩视频在线一区二区| 99re视频精品| 成人视屏免费看| 成人美女在线观看| 国产99一区视频免费|