国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

sqlserver阻塞定位(轉載)

來源:懂視網 責編:小采 時間:2020-11-09 07:41:13
文檔

sqlserver阻塞定位(轉載)

sqlserver阻塞定位(轉載):很多人都遇到過這樣的情況,當網站達到一定的訪問量,數據庫就會成為瓶頸,進而引起阻塞。 有人認為這可能就是硬件的極限了,于是想辦法增加硬件設備。而我本人認為問題的元兇可能是性能不高的sql腳本,引起了阻塞。 如果你和我有相同的看法,那我們就一起想
推薦度:
導讀sqlserver阻塞定位(轉載):很多人都遇到過這樣的情況,當網站達到一定的訪問量,數據庫就會成為瓶頸,進而引起阻塞。 有人認為這可能就是硬件的極限了,于是想辦法增加硬件設備。而我本人認為問題的元兇可能是性能不高的sql腳本,引起了阻塞。 如果你和我有相同的看法,那我們就一起想

很多人都遇到過這樣的情況,當網站達到一定的訪問量,數據庫就會成為瓶頸,進而引起阻塞。 有人認為這可能就是硬件的極限了,于是想辦法增加硬件設備。而我本人認為問題的元兇可能是性能不高的sql腳本,引起了阻塞。 如果你和我有相同的看法,那我們就一起想

很多人都遇到過這樣的情況,當網站達到一定的訪問量,數據庫就會成為瓶頸,進而引起阻塞。

有人認為這可能就是硬件的極限了,于是想辦法增加硬件設備。而我本人認為問題的元兇可能是性能不高的sql腳本,引起了阻塞。

如果你和我有相同的看法,那我們就一起想辦法找出問題的源頭。

案例1.

某一天我被告知,我們的書城網站不能訪問了,我馬上查看,發現書城的有兩臺iis服務器均顯示service unavailable,我初步斷定是sqlserver數據庫發生了阻塞,因為同一套程序使兩臺iis服務器同時當機的可能性不大。

要知道是否發生了阻塞,當然要看master庫的sysprocess表,看看是否有什么進程堵住了別的進程,語句如下:

Select * from master..sysprocesses where blocked > 0

很快我發現,有一個blocked = 51 堵住了很多進程(查看blocked列可見),果然和我的判斷吻合;為了進一步找出發生阻塞的語句,我用到的如下的語句

dbcc inputbuffer(51);

結果如下:

EventType Parameters EventInfo

------------------------------------------------

RPC Event 0 p_Book_content;1

從上面就可以看出是p_Book_content (是個存儲過程)引起的阻塞,但是這個過程里面同時對多個表進行了操作,到底是那個語句出了問題呢?

下面我們再來進一步定位阻塞的位置:

Sp_lock

結果如下(大部分數據略)

Spid dbid objid indid type resource mode status

-------------------------------------------------------------------------------------------------

51 14 206623779 0 TAB X WAIT

52 14 0 0 DB S GRANT

53 14 0 0 DB S GRANT

。。

。。

。。

現在我們來看看spid = 51 這行, mode = X 表示排它鎖, status = WAIT表示正在等待(即被阻塞了),dbid = 14 是數據庫的id,objid = 206623779 是被鎖的對象id,我們可以通過下列函數得到數據庫和表:

Select db_name(@dbid) -----》book_db

select object_name(@objid) -------》 t_book

即book_db庫的t_book表被鎖住了,這時候再回投仔細檢查 p_Book_content 存儲過程,發現只有一個語句對t_book進行了操作:

update t_book set hitcount = hitcount + 1 where bookid = @bookid

這個語句的作用是更新書本的點擊次數,為什么上面這個語句會引起阻塞呢?我認為最可能的情況應該是同時訪問的人過多,同時對表進行過多的update操作引起的,所以最終改用別的方式,不再實時對t_book表進行update操作,而是每次訪問都先insert一條記錄到一個中間表中,然后再用一個作業,每隔10分鐘定時更新書本的點擊次數,如此改進之后,此問題終于圓滿解決了。

相關資料在book online可以找到, 關鍵字: sp_lock , sysprocesses , dbcc inputbuffer , db_name(), object_name()

注:原來發在csdn的,現在荒蕪了,挪到這邊來栽培一下。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

sqlserver阻塞定位(轉載)

sqlserver阻塞定位(轉載):很多人都遇到過這樣的情況,當網站達到一定的訪問量,數據庫就會成為瓶頸,進而引起阻塞。 有人認為這可能就是硬件的極限了,于是想辦法增加硬件設備。而我本人認為問題的元兇可能是性能不高的sql腳本,引起了阻塞。 如果你和我有相同的看法,那我們就一起想
推薦度:
標簽: 定位 人都 很多
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 欧美日韩高清完整版在线观看免费 | 国产线视频精品免费观看视频 | 亚洲欧美日韩天堂 | 精品一区二区三区四区五区 | 日韩综合网站 | 成人看免费一级毛片 | 欧美日韩综合视频 | 国产偷窥女洗浴在线观看 | 欧美亚洲国产一区二区 | 国产精品成久久久久三级 | 日韩va亚洲va欧美va浪潮 | 欧美成人禁片在线观看网址 | 久久婷婷久久一区二区三区 | 九九精品99久久久香蕉 | 一级毛片一级毛片一级毛片 | 亚洲不卡中文字幕 | 五月婷婷综合网 | 日韩在线一区二区三区 | 亚洲高清色 | 日本不卡视频一区二区三区 | 欧美日韩无 | 日韩精品在线看 | 在线日韩亚洲 | 国产日韩在线看 | 久久婷婷久久一区二区三区 | 一区二区三区在线播放 | 四虎国产精品免费久久久 | 国产免费一区二区三区免费视频 | 欧美日韩亚洲v在线观看 | 2021国产精品成人免费视频 | 日韩欧美一区二区在线观看 | 亚洲国产成人久久综合区 | 国产精品视频免费 | 黄毛片| 伊人久久精品久久亚洲一区 | 欧美 第一页 | 国产高清免费不卡观看 | 国产成人免费高清激情明星 | 亚洲成人精品久久 | 日本高清在线播放一区二区三区 | 91久久国产|