国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

數(shù)據(jù)庫管理員制勝之寶

2024-07-21 02:10:46
字體:
供稿:網(wǎng)友
數(shù)據(jù)庫的調(diào)整和優(yōu)化可能是一個(gè)數(shù)據(jù)庫管理員的最主要也是最關(guān)鍵的任務(wù)之一。
遺憾的是,對像sql server這樣的數(shù)據(jù)庫進(jìn)行調(diào)整和性能調(diào)節(jié)并不是一件容易的事。sql server帶有幾種監(jiān)控和調(diào)試工具,功能強(qiáng)大,但精通掌握十分困難。


圖1 coefficient類似profiler

然而,現(xiàn)在有了coefficient。它是intrinsic design公司發(fā)布的新產(chǎn)品,對初學(xué)者和有經(jīng)驗(yàn)的數(shù)據(jù)庫管理員都適用。coefficient可以幫助加強(qiáng)sql server的性能調(diào)節(jié),提高操作員監(jiān)控sql server內(nèi)部工作的能力。最有用處的是,它能把監(jiān)控?cái)?shù)據(jù)以幾乎所有的數(shù)據(jù)庫管理員都可以理解的格式呈列出來。
coefficient并不是performance monitor, query analyzer或者profiler的完全替換品。coefficient更像加強(qiáng)的sql server profiler。它的工作方式十分類似于profiler,但比profiler更為容易使用和理解。(如圖1)

coefficient運(yùn)行過程
coefficient可以安裝在sql server服務(wù)器上,也可以安裝在任何通過網(wǎng)絡(luò)聯(lián)結(jié)在sql servers上的計(jì)算機(jī)上。安裝十分簡單,安裝完畢就可立即進(jìn)行監(jiān)控工作了。一般來說,按下列步驟進(jìn)行:
首先在主頁面上增加一個(gè)sql server,就像使用enterprise manager注冊一個(gè)sql server一樣。
在列表上選擇一個(gè)想要分析的數(shù)據(jù)庫,然后建立一個(gè)跟蹤,即通常所說的trace,有點(diǎn)像用sql server profiler建立的跟蹤文件,但是比它更容易操作:不必經(jīng)過多少如events、data columns和filters之類的復(fù)雜工作。替而代之的是一種逐級的向?qū)В恍枰O(shè)置幾個(gè)簡單的參數(shù)即可完成,包括指定trace表名(coefficient用來存儲(chǔ)跟蹤數(shù)據(jù)的sql server表)、設(shè)置trace運(yùn)行時(shí)間(試用版最多只能運(yùn)行20分鐘)、設(shè)置分析是否在trace結(jié)束之后立即執(zhí)行,等等。
如果選擇在trace完成之后立即運(yùn)行分析(analysis),還需要指定分析文件存儲(chǔ)的地方和運(yùn)行分析的類型,這些常常是通過選擇模板完成的,也就是說,模板(template)是用來指定想要執(zhí)行的分析的具體類型。
完成向?qū)?,trace就開始了,一直運(yùn)行到指定的時(shí)間跑完為止(如圖2)。在這期間,監(jiān)控所得到的數(shù)據(jù)保存在sql server中指定的trace表中。隨后可以立即進(jìn)行analysis,用戶也可以在任何時(shí)候?qū)race表中的監(jiān)控?cái)?shù)據(jù)進(jìn)行多種分析。
分析的結(jié)果保存為很多html文件,用戶可以方便地打開并點(diǎn)擊查看各項(xiàng)內(nèi)容。更重要的是,分析結(jié)果能方便地發(fā)布在內(nèi)部網(wǎng)的網(wǎng)絡(luò)服務(wù)器上,供多個(gè)用戶使用瀏覽器進(jìn)行查閱。

analysis是coefficient的關(guān)鍵
在介紹分析結(jié)果之前,讓我們先了解模板(template)和分析(analysis)類型。當(dāng)用coefficient執(zhí)行分析時(shí),可以選擇一個(gè)已預(yù)定義好的模板,也可以建立自己的模板。實(shí)際上,模板就是一個(gè)很多分析類型的列表,建立模板就是選擇需要進(jìn)行的分析對象。通過這個(gè)列表,coefficient處理從數(shù)據(jù)庫中收集的跟蹤數(shù)據(jù)。coefficient總共可以分析多達(dá)49種不同的指標(biāo),這些指標(biāo)都和sql server內(nèi)部工作有關(guān)。主要有以下典型性能分析:
客戶中斷請求和中斷連接信息。通過attention events常??梢圆槌鲈诳蛻舳撕头?wù)器之間的通訊問題。

sql server和nt用戶連接信息。例如哪個(gè)用戶連接了多長時(shí)間。
死鎖次數(shù)及導(dǎo)致這些死鎖的信息。
sql server錯(cuò)誤和警告信息。
表統(tǒng)計(jì)的遺漏信息。可以幫助確定統(tǒng)計(jì)是否存在任何遺漏,這些信息可以用來優(yōu)化查詢,提高執(zhí)行程序代碼的速度。

圖3 選擇模板和分析項(xiàng)目

sql語句是否執(zhí)行和sql prepare/execute模型。運(yùn)用這些模型常??梢约涌熘貜?fù)執(zhí)行sql代碼的速度。
執(zhí)行計(jì)劃重復(fù)使用的頻率。
存儲(chǔ)過程再編譯的頻率。
存儲(chǔ)程序和sql語句的調(diào)用情況。包括持續(xù)時(shí)間、讀和寫的次數(shù),等等。
sql server超時(shí)次數(shù)。

一個(gè)coefficient實(shí)例
假設(shè)要分析數(shù)據(jù)庫中的存儲(chǔ)過程的性能,并確定存儲(chǔ)過程的最大共同點(diǎn)。當(dāng)調(diào)整一個(gè)數(shù)據(jù)庫時(shí),最好的解決辦法之一就是確定哪個(gè)存儲(chǔ)過程運(yùn)行最頻繁,而后對這些存儲(chǔ)過程進(jìn)行優(yōu)化。即使只使一個(gè)存儲(chǔ)過程減少了三分之一的運(yùn)行時(shí)間,如果一天需要運(yùn)行10,000次這個(gè)存儲(chǔ)過程,那也是一個(gè)可喜的成績。
首先建立一個(gè)trace,選擇spsql模板進(jìn)行分析。spsql模板可以提供很多數(shù)據(jù),但是我們僅僅對哪個(gè)存儲(chǔ)過程運(yùn)行最頻繁感興趣,所以只需選擇stored procedure call frequency report(spsql模板的一個(gè)部分)。
依照上述步驟進(jìn)行即可生成監(jiān)控報(bào)告,報(bào)告里既有表格也有圖例,在表格里以存儲(chǔ)過程運(yùn)行的頻率大小排序,圖例就顯示在表的上面(如圖3)。

圖4 分析報(bào)告

從圖中,很容易就能得知哪個(gè)存儲(chǔ)過程運(yùn)行頻繁。在這個(gè)例子中,存儲(chǔ)過程名字是pcget_sjzh_nj,在trace周期內(nèi)被調(diào)用682次。從表格中還能得到更多關(guān)于存儲(chǔ)過程的信息,例如平均持續(xù)時(shí)間(毫秒)、平均數(shù)量、讀寫次數(shù)和cpu平均占用率等等。
coefficient的另一個(gè)特色是可以提供更多的詳細(xì)信息。例如,假定我們想要了解pcget_sjzh_nj過程的詳細(xì)信息,就可以點(diǎn)擊名字打開另一個(gè)頁面查看更多具體數(shù)據(jù),在接下來的頁面上能看到常規(guī)統(tǒng)計(jì)信息、持續(xù)時(shí)間統(tǒng)計(jì)、讀取統(tǒng)計(jì)、記錄統(tǒng)計(jì)、cpu統(tǒng)計(jì)、存儲(chǔ)過程引用和存儲(chǔ)過程的源代碼(如圖4)。另外,還可以點(diǎn)擊“execution plan”查看存儲(chǔ)過程的執(zhí)行計(jì)劃。需要強(qiáng)調(diào)的是,提供的信息很詳細(xì),不僅可以查看到發(fā)送給存儲(chǔ)過程的數(shù)據(jù),也可以看到存儲(chǔ)過程的參數(shù),以及執(zhí)行計(jì)劃(execution plan)。

嵌入報(bào)告中的幫助信息
coefficient產(chǎn)生的數(shù)據(jù)比較多,用戶可能會(huì)擔(dān)心弄不清這些數(shù)據(jù)到底表示什么,怎樣才能利用它們進(jìn)行數(shù)據(jù)庫性能調(diào)整。其實(shí)擔(dān)心大可不必,在每篇分析報(bào)告的下面都有大篇幅的關(guān)于數(shù)據(jù)含義的總體說明。這些說明并不涉及產(chǎn)生的具體數(shù)據(jù),但有很多關(guān)于數(shù)據(jù)庫性能優(yōu)化的基礎(chǔ)知識(shí)。從某種意義上說,coefficient本身就是一本sql server數(shù)據(jù)庫優(yōu)化手冊。

coefficient的適用人群
coefficient對sql server程序員和數(shù)據(jù)庫管理員都很有用。程序員可以把它用在基于sql server的應(yīng)用軟件的開發(fā)過程和測試過程中,而數(shù)據(jù)庫管理員會(huì)覺得有益于調(diào)整已開發(fā)出來的應(yīng)用軟件,因?yàn)閿?shù)據(jù)庫隨時(shí)間不斷變化,數(shù)據(jù)庫管理員們能使用coefficient即時(shí)查看數(shù)據(jù)庫內(nèi)部的運(yùn)行情況。最常用的是用coefficient定義數(shù)據(jù)庫各個(gè)性能方面的基準(zhǔn),然后比較不同周期的分析結(jié)果,借以了解數(shù)據(jù)庫的運(yùn)行情況。 
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 浦东新区| 中山市| 海晏县| 山东省| 广宁县| 重庆市| 宣恩县| 新绛县| 安新县| 同心县| 揭西县| 会宁县| 永济市| 保定市| 古浪县| 婺源县| 深州市| 东安县| 南华县| 安庆市| 高雄市| 泰宁县| 普宁市| 都江堰市| 宾阳县| 盐池县| 宝兴县| 安塞县| 雅江县| 峨眉山市| 封开县| 澎湖县| 光泽县| 汾西县| 玛多县| 衡水市| 娄烦县| 政和县| 涟水县| 陈巴尔虎旗| 章丘市|