一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Sql Server - SQL語句執行超時引發網站首頁訪問故障問題

SQL語句執行超時引發網站首頁訪問故障問題

2020-06-04 15:06博客園團隊 Sql Server

由于獲取網站首頁列表的 SQL 語句出現突發的查詢超時問題,造成訪問網站首頁時出現 500 錯誤,在故障期間記錄了大量錯誤,小編給大家分享到腳本之家平臺,感興趣的朋友一起看看吧

非常抱歉,今天早上 6:37~8:15 期間,由于獲取網站首頁博文列表的 SQL 語句出現突發的查詢超時問題,造成訪問網站首頁時出現 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)

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

SQL語句執行超時引發網站首頁訪問故障問題

數據庫服務器的 IOPS 暴增。

SQL語句執行超時引發網站首頁訪問故障問題

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

SQL語句執行超時引發網站首頁訪問故障問題

發現故障后,我們通過阿里云 RDS 的主備切換恢復了正常。

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

對于這種因為重用他人生成的執行計劃而導致的水土不服現象,SQL Server 有一個專有名詞,叫“參數嗅探 parameter sniffing”。

而且我們找到了引發 SQL Server 參數嗅探問題的條件。

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

SELECT TOP (@ItemCount)

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

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

總結

以上所述是小編給大家介紹的SQL語句執行超時引發網站首頁訪問故障問題,希望對大家有所幫助!

原文鏈接:https://www.cnblogs.com/cmt/p/12255415.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲日韩精品欧美一区二区一 | 999任你躁在线精品免费不卡 | 九九精品免视频国产成人 | 青青在线观看 | 男女拍拍拍免费视频网站 | 国产综合社区 | 国产精品久久久久久爽爽爽 | 亚洲精品免费在线观看 | 古装一级毛片 | 欧美人与物videos另类3d | 久久性综合亚洲精品电影网 | 久久青青草原综合伊人 | 美女被扣逼 | 久草在线福利视频在线播放 | 午夜亚洲WWW湿好爽 午夜想想爱午夜剧场 | 日产精品卡一卡2卡三卡乱码工厂 | 性欧美高清强烈性视频 | 深夜免费在线观看 | 国产欧美二区三区 | 果冻传媒在线视频观看免费 | 四虎永久免费在线观看 | 色偷偷影院 | 青草视频免费观看在线观看 | 丁香网五月天 | 成年性香蕉漫画在线观看 | 国产偷窥女洗浴在线观看亚洲 | 韩国免费视频 | 精品视频久久久久 | 国产精品九九免费视频 | 日本xxxxxxxxx高清hd | 青青网站| 黑人巨| 成在线人免费视频一区二区三区 | 成人免费观看在线视频 | 成人久久18免费网站入口 | 男人和女人上床 | 四虎影院地址 | 日韩欧美国产免费看清风阁 | 男人猛进猛出女人下面视频 | 国产精品亚洲午夜不卡 | 国产九九在线观看播放 |