日韩小视频-日韩久久一区二区三区-日韩久久一级毛片-日韩久久久精品中文字幕-国产精品亚洲精品影院-国产精品亚洲欧美云霸高清

下載吧 - 綠色安全的游戲和軟件下載中心

軟件下載吧

當(dāng)前位置:軟件下載吧 > 數(shù)據(jù)庫 > MS_SQL > 關(guān)于SQL語句執(zhí)行超時引發(fā)網(wǎng)站首頁訪問故障問題診斷和處理

關(guān)于SQL語句執(zhí)行超時引發(fā)網(wǎng)站首頁訪問故障問題診斷和處理

時間:2024-02-13 10:23作者:下載吧人氣:29

非常抱歉,今天早上 6:37~8:15 期間,由于獲取網(wǎng)站首頁博文列表的 SQL 語句出現(xiàn)突發(fā)的查詢超時問題,造成訪問網(wǎng)站首頁時出現(xiàn) 500 錯誤,由此給您帶來麻煩,請您諒解。

故障的情況是這樣的。

故障期間日志中記錄了大量下面的錯誤。

2020-02-03 06:37:24.635 [Error] An unhandled exception has occurred while executing the request./Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareSystem.Data.SqlClient.SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. —> System.ComponentModel.Win32Exception (258): Unknown error 258 at System.Data.SqlClient.SqlCommand.<>c.<ExecuteDbDataReaderAsync>b__126_0(Task`1 result)

數(shù)據(jù)庫服務(wù)器(阿里云 RDS SQL Server 2016 實例)的 CPU 消耗突增。

關(guān)于SQL語句執(zhí)行超時引發(fā)網(wǎng)站首頁訪問故障問題診斷和處理

數(shù)據(jù)庫服務(wù)器的 IOPS 暴增。

關(guān)于SQL語句執(zhí)行超時引發(fā)網(wǎng)站首頁訪問故障問題診斷和處理

通過阿里云 RDS 控制臺的 CloudDBA 可以查看到故障期間獲取首頁博文的 SQL 語句被執(zhí)行了3萬多次,執(zhí)行這么多次是由于查詢超時,無法建立緩存,每次請求都要訪問數(shù)據(jù)庫。

關(guān)于SQL語句執(zhí)行超時引發(fā)網(wǎng)站首頁訪問故障問題診斷和處理

發(fā)現(xiàn)故障后,我們通過阿里云 RDS 的主備切換恢復(fù)了正常。

經(jīng)過對故障的排查分析,鎖定的最大嫌疑對象是 SQL Server 參數(shù)嗅探(詳見園子里的博文 什么是 SQL Server 參數(shù)嗅探)。

對于這種因為重用他人生成的執(zhí)行計劃而導(dǎo)致的水土不服現(xiàn)象,SQL Server 有一個專有名詞,叫“參數(shù)嗅探 parameter sniffing”。

而且我們找到了引發(fā) SQL Server 參數(shù)嗅探問題的條件。

在我們的 open api 中提供了獲取首頁博文列表的 web api ,但沒有限制可以獲取的最大博文數(shù),也就是下面的 ItemCount 參數(shù)(除了 open api ,其他地方調(diào)用時 ItemCount 值都是 20 )。

SELECT TOP (@ItemCount)

假如有人調(diào)用 open api 時給 ItemCount 傳了一個很大的值,比如 20000 ,雖然調(diào)用的是同樣的 SQL 語句,但由于 ItemCount 的值不同, SQL Server 可能會生成相差很大的執(zhí)行計劃,對于 ItemCount 20000 性能比較好的執(zhí)行計劃,對于 ItemCount 20 可能性能極差。如果查詢 ItemCount 20000 時生成的執(zhí)行計劃被緩存下來,查詢 ItemCount 20 時繼續(xù)使用這個執(zhí)行計劃,就會出現(xiàn)本來好好的 SQL 查詢突然變得性能極差。我們今天遇到的故障很可能就是這個原因,而且故障時就一個 SQL 語句出現(xiàn)問題(正好就這個 SQL 查詢緩存了水土不服的執(zhí)行計劃),其他都正常,也驗證了這個猜測。

通過這次故障,我們吸取的教訓(xùn)是一定要在代碼中對 ItemCount 與 PageSize 的最大值進(jìn)行限制,它不僅僅是帶來不必要的低性能查詢,而且可能會因為 SQL Server 參數(shù)嗅探問題拖垮整個數(shù)據(jù)庫。

總結(jié)

以上所述是小編給大家介紹的關(guān)于關(guān)于關(guān)于SQL語句執(zhí)行超時引發(fā)網(wǎng)站首頁訪問故障問題診斷和處理診斷和處理診斷和處理,希望對大家有所幫助!

標(biāo)簽MSSQL,SQLServer,技術(shù)文檔,數(shù)據(jù)庫,SQLSERVER

相關(guān)下載

查看所有評論+

網(wǎng)友評論

網(wǎng)友
您的評論需要經(jīng)過審核才能顯示

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 亚洲精品欧美精品国产精品 | 精品外国呦系列在线观看 | 欧美一级美片在线观看免费 | 国产成人在线影院 | 日韩一级在线视频 | 欧美一级高清免费播放 | 欧美日韩黄色 | 亚洲国产精品久久久久久网站 | 国内外成人免费视频 | 亚洲日韩视频免费观看 | 97在线播放 | 免费在线观看a级毛片 | 欧美精品久久 | 国产在线不卡免费播放 | 亚洲三级黄色片 | 久久精品久久精品国产大片 | 国产欧美日韩亚洲精品区2345 | 成年人免费在线观看网站 | 日韩精品一区二区三区四区 | 一区二区亚洲精品 | 精品久久免费视频 | 暖暖免费高清日本一区二区三区 | 日本色哟哟 | 视频一区在线播放 | 成人毛片免费观看视频大全 | 色播亚洲 | 国产伦精一区二区三区视频 | 伊人资源 | 国产精品久久成人影院 | 国产一区二三区 | 一个人看的免费高清视频日本 | 精品成人在线 | 亚洲国产精品久久人人爱 | 久爱综合| 在线不卡一区二区三区日韩 | 国产大臿蕉香蕉大视频 | 日韩麻豆 | 久久精品国产精品亚洲毛片 | 精品成人久久 | 中国日本高清免费视频网 | 在线成人亚洲 |