金蝶K產(chǎn)品性能穩(wěn)定性?xún)?yōu)化指導(dǎo)手冊(cè)_第1頁(yè)
金蝶K產(chǎn)品性能穩(wěn)定性?xún)?yōu)化指導(dǎo)手冊(cè)_第2頁(yè)
金蝶K產(chǎn)品性能穩(wěn)定性?xún)?yōu)化指導(dǎo)手冊(cè)_第3頁(yè)
金蝶K產(chǎn)品性能穩(wěn)定性?xún)?yōu)化指導(dǎo)手冊(cè)_第4頁(yè)
金蝶K產(chǎn)品性能穩(wěn)定性?xún)?yōu)化指導(dǎo)手冊(cè)_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、- PAGE 31 -金蝶K/3產(chǎn)品性能穩(wěn)定性?xún)?yōu)化指導(dǎo)手冊(cè)(輔助工具)(V3.0)金蝶軟體(中國(guó))有限公司研發(fā)中心K/3產(chǎn)品事業(yè)部.設(shè)計(jì)部解釋目的本手冊(cè)在於指導(dǎo)技術(shù)支援人員、分支機(jī)搆實(shí)施服務(wù)人員和客戶(hù)處理K/3系統(tǒng)應(yīng)用過(guò)程中產(chǎn)生的性能問(wèn)題、中間層伺服器問(wèn)題等;同時(shí)也指導(dǎo)我們的實(shí)施服務(wù)人員和客戶(hù)在實(shí)施中如何避免將來(lái)可能發(fā)生的性能問(wèn)題和中間層問(wèn)題。讓研發(fā)人員、技術(shù)支援人員和分支機(jī)搆實(shí)施人員一起共同提高工作能力,快速反應(yīng)快速解決客戶(hù)的問(wèn)題。適合對(duì)象本手冊(cè)的主要閱讀物件是K/3系統(tǒng)研發(fā)人員、技術(shù)支援人員、實(shí)施人員、客戶(hù)服務(wù)人員和公司授權(quán)的有一定技術(shù)能力的客戶(hù)系統(tǒng)管理員?;仞伇臼謨?cè)是對(duì)研發(fā)在處理客戶(hù)性能

2、和穩(wěn)定性問(wèn)題的收集和總結(jié),所以涉及到的面有可能還不夠。完善本手冊(cè),提供一個(gè)更加完整的客戶(hù)問(wèn)題解決指導(dǎo)方案,離不開(kāi)大家的支持,所以大家在碰到相關(guān)的問(wèn)題時(shí),請(qǐng)回饋K/3設(shè)計(jì)部,我們將及時(shí)對(duì)手冊(cè)更新。導(dǎo)讀本手冊(cè)包括資料庫(kù)、中間層、用戶(hù)端和輔助分析工具介紹四大篇,分別介紹K/3客戶(hù)性能和穩(wěn)定性問(wèn)題的處理方法、案例以及輔助工具,請(qǐng)您根據(jù)您的需要選擇相應(yīng)的章節(jié)閱讀。注意由於此手冊(cè)可能牽涉一些K/3在技術(shù)方面的細(xì)節(jié),為了防止有些人用意不良,斷章取義來(lái)攻擊K/3和公司,請(qǐng)注意保密。 金蝶K/3產(chǎn)品性能穩(wěn)定性?xún)?yōu)化指導(dǎo)手冊(cè)(輔助工具)目錄 TOC h z t 功能標(biāo)題1,1,功能標(biāo)題2,2,功能標(biāo)題3,3,功能標(biāo)

3、題4,4 HYPERLINK l _Toc195678486目錄 1.5 元件服務(wù)主要用來(lái)分析中間層的性能表現(xiàn)一)使用方法使用元件服務(wù)管理工具可以配置和管理 COM 元件及 COM+ 應(yīng)用程式,在K/3中間層伺服器監(jiān)視元件的使用情況。1)啟動(dòng)元件服務(wù)管理工具在“開(kāi)始”功能表,依次指向“程式”、“管理工具”,然後單擊“元件服務(wù)”。2)檢查K/3中間層元件是否在運(yùn)行如下圖,選擇“Com+應(yīng)用程式”可以發(fā)現(xiàn)哪些元件正在運(yùn)行;選擇工具條上的“狀態(tài)查詢(xún)”能夠更加直觀(guān)的查找哪些元件在運(yùn)行中。如果用戶(hù)端用戶(hù)比較多或者網(wǎng)路速度比較慢的情況下,中間層伺服器有可能出現(xiàn)服務(wù),從而引起性能問(wèn)題??梢酝ㄟ^(guò)元件服務(wù)的事件

4、列表檢查是否有比較多的事件在排隊(duì)等待。介面如下圖:二)如何找到正在執(zhí)行的資源耗用多的組件有時(shí)候如果中間層的CPU或記憶體耗用很?chē)?yán)重,由於在多個(gè)客戶(hù)的併發(fā)下有時(shí)候客戶(hù)很難發(fā)現(xiàn)是那一項(xiàng)操作引發(fā)了問(wèn)題,這時(shí)候可以找一下那一個(gè)元件包中的哪一個(gè)元件耗用資源比較嚴(yán)重,配合其他的觀(guān)察:如在此階段用戶(hù)都在做那些操作,有助於發(fā)現(xiàn)引發(fā)問(wèn)題的功能。首先在任務(wù)管理器的進(jìn)程選頁(yè)簽上尋找耗用資源較多的DLLHOST進(jìn)程,在這兒說(shuō)明一下,每一個(gè)中間層元件包在運(yùn)行時(shí)有一個(gè)DLLHOST進(jìn)程,每一個(gè)包包含很多元件。找到耗用資源較多的DLLHOST,找對(duì)應(yīng)的PID(進(jìn)程標(biāo)示號(hào)),根據(jù)PID在元件管理中可以找到對(duì)應(yīng)的元件包,然後在

5、對(duì)元件包下面尋找調(diào)用時(shí)間長(zhǎng)的元件,把此元件的資訊和其他用戶(hù)操作資訊回饋到研發(fā),可以定位到具體的功能。三)如何判斷中間層的阻塞對(duì)於中間層伺服器,有可能發(fā)生阻塞,這時(shí)候主要看上面所描述的元件伺服器中事務(wù)列表中的元件排隊(duì)情況,如果有較長(zhǎng)的排隊(duì)情況,就代表出現(xiàn)阻塞,可以考慮把組塞較多的元件分離出來(lái)重新放到一個(gè)新建的包中,因?yàn)槊恳粋€(gè)COM+元件包有一個(gè)進(jìn)程。四)關(guān)於STA模式COM+元件線(xiàn)程數(shù)限制問(wèn)題對(duì)於VB編寫(xiě)的COM+元件,由於不能編譯為MTA線(xiàn)程模型,每個(gè)元件包進(jìn)程的線(xiàn)程數(shù)默認(rèn)為10個(gè),也就是說(shuō)同一個(gè)元件包中所有元件功能只能最多有十個(gè)同時(shí)運(yùn)行。對(duì)此問(wèn)題,微軟提供了一個(gè)修改線(xiàn)程數(shù)量限制的方法,那就是

6、修改註冊(cè)表選項(xiàng),可以讓線(xiàn)程數(shù)達(dá)到100。此項(xiàng)改進(jìn)在V10.0已經(jīng)在安裝包做了修改,如果是以前版本的客戶(hù)可以直接修改中間層伺服器註冊(cè)表選項(xiàng)??梢灾苯影岩韵略]冊(cè)表檔導(dǎo)入。修改默認(rèn)設(shè)置後,會(huì)提高中間層的併發(fā)性能。1.6 SQLDiag.exeSQLDiag.exe 工具程式默認(rèn)的檔路徑位於 : Program FilesMicrosoft SQL ServerMSSQLBinn 目錄之下,產(chǎn)生出來(lái)的日誌檔默認(rèn)放在:Program FilesMicrosoft SQL ServerMSSQLLOG 目錄之下,檔案名為 SQLDiag.txt。它可以在同一時(shí)間、一次幫你收集相當(dāng)多的資訊。在相同的時(shí)間區(qū)段

7、內(nèi),收集各種方面的資訊非常重要。例如你觀(guān)察到 SQL Server 對(duì)某個(gè)查詢(xún)的回應(yīng)遲緩,可能需要同時(shí)觀(guān)察系統(tǒng)硬體各項(xiàng)資源的使用,SQL Server 當(dāng)時(shí)的鎖狀況,是否有錯(cuò)誤發(fā)生等等,必須要互相參照,才容易找出禍?zhǔn)住?SQLDiag.exe 就可以在同一時(shí)間搜集到相當(dāng)多的資訊,它必須在 SQL Server 伺服器本身執(zhí)行,而不能在用戶(hù)端工作站執(zhí)行。輸出的相關(guān)資料列述如下:獲取記錄檔,若是SQL Server 2000 的版本,這些記錄檔默認(rèn)是位於“Program FilesMicrosoft SQL ServerMSSQLLOG”目錄下,名稱(chēng)為ERRORLOG 及副檔名是數(shù)字的先前版本,如

8、Errorlog.1、Errorlog.2 一直到Errorlog.6 等等,若版本是 SQL Server 7.0,則這些記錄檔路徑默認(rèn)是 MSSQL7log。這些日誌檔是文本類(lèi)型,雖然名稱(chēng)是ErrorLog,但放的不儘然是錯(cuò)誤,SQL Server 會(huì)將一些資訊,如啟動(dòng)時(shí)所完成的動(dòng)作,放在這個(gè)檔中。當(dāng)然,若有錯(cuò)誤,也會(huì)存放在這個(gè)檔中,SQLDiag 默認(rèn)會(huì)將這些ErrorLog 檔一併放到輸出結(jié)果的檔內(nèi)。獲取相關(guān)的註冊(cè)(registry)資訊。獲取相關(guān)程式庫(kù)(dll library)的版本資訊。通過(guò)sp_configure 系統(tǒng)存儲(chǔ)過(guò)程獲取SQL Server 執(zhí)行實(shí)例的各項(xiàng)配置。通過(guò)sp

9、_who 系統(tǒng)存儲(chǔ)過(guò)程獲取當(dāng)前登錄SQL Server 執(zhí)行實(shí)例的用戶(hù)各項(xiàng)細(xì)節(jié)。通過(guò)sp_lock 系統(tǒng)存儲(chǔ)過(guò)程獲取鎖的相關(guān)資訊。通過(guò)sp_helpdb 系統(tǒng)存儲(chǔ)過(guò)程獲取SQL Server 執(zhí)行實(shí)例內(nèi)各資料庫(kù)的相關(guān)資訊。通過(guò)xp_msver 擴(kuò)展存儲(chǔ)過(guò)程獲取軟硬體平臺(tái)的簡(jiǎn)要資訊。通過(guò)sp_helpextendedproc 系統(tǒng)存儲(chǔ)過(guò)程獲取擴(kuò)展存儲(chǔ)過(guò)程(extended stored procedures)的相關(guān)資訊。由於擴(kuò)展存儲(chǔ)過(guò)程是以DLL 的形式與SQL Server 的核心執(zhí)行在同一個(gè)程式中,若有任何閃失,輕則造成記憶體洩露,重則導(dǎo)致服務(wù)程式當(dāng)?shù)?。通過(guò)這個(gè)系統(tǒng)存儲(chǔ)過(guò)程會(huì)表列出所有的擴(kuò)展

10、存儲(chǔ)過(guò)程,你可以將它的輸出與一般安裝的SQL Server 做個(gè)比較,看看是否有用戶(hù)自行安裝的擴(kuò)展存儲(chǔ)過(guò)程,造成系統(tǒng)的不穩(wěn)定。從master.dbo.Sysprocesses 系統(tǒng)資料表獲取程式(process)的相關(guān)資訊。當(dāng)系統(tǒng)忙碌時(shí),你可以通過(guò)它觀(guān)察到底有哪些程式在伺服器內(nèi)執(zhí)行,各用了多少資源等等。搭配其他的系統(tǒng)存儲(chǔ)過(guò)程,如sp_who、sp_who2、sp_lock 等等,可以獲得整體的狀況。例如通過(guò)waittime 欄位知道有哪些程式已經(jīng)等待很久,從cpu、physical_io 以及memusage 欄位可以看出哪些程式在耗CPU、磁片輸出入或記憶體資源。以及打開(kāi)了事務(wù),但執(zhí)行狀況卻

11、是sleeping 的不當(dāng)事務(wù)管理。通過(guò)DBCC INPUTBUFFER (spid) 獲取各進(jìn)程正在執(zhí)行的命令。獲取鎖鏈接的起始者(head blocker)。通過(guò)MSInfo32.exe 獲取系統(tǒng)的細(xì)節(jié)資料,這需要耗掉一些時(shí)間。最後100 個(gè)查詢(xún)和異常狀況(Exception)。SQLDiag.exe 獲取系統(tǒng)資訊是靠MSInfo32.exe 工具程式取得系統(tǒng)的相關(guān)資訊,你可以直接執(zhí)行該工具程式以查看更豐富的資訊,如下圖:點(diǎn)擊MSInfo32.exe 主功能表的檔 - 導(dǎo)出選項(xiàng),可以將系統(tǒng)當(dāng)前的各項(xiàng)資訊導(dǎo)出成文字檔案,供你日後參考。由於導(dǎo)出屬性包含軟硬體的各項(xiàng)細(xì)節(jié)資訊,所以按下導(dǎo)出後可能要

12、稍等一下。SQLDiag.exe 是一個(gè)相當(dāng)容易執(zhí)行的工具程式,若要參照它的使用方式,可以進(jìn)入“命令提示符”程式,轉(zhuǎn)到SQLDiag.exe 所在的目錄下執(zhí)行SQLDiag /?(SQLDiag.exe 默認(rèn)目錄是:Program FilesMicrosoft SQL ServerMSSQLBinn),以顯示各項(xiàng)參數(shù),或是在SQL Server 所附的“聯(lián)機(jī)文檔”利用SQLDiag 關(guān)鍵字找尋使用的細(xì)節(jié),URL 是:mk:MSITStore:C:Program%20FilesMicrosoft%20SQL%20Server80ToolsBooks coprompt.chm:/cp_sqldia

13、g_96k9.htm以下簡(jiǎn)述它各項(xiàng)參數(shù)的使用方式:-?:顯示使用說(shuō)明。-I :指定要連接的本機(jī)SQL Server 執(zhí)行實(shí)例(Instance)。若不指定 I 選項(xiàng),則連接至本機(jī)默認(rèn)的執(zhí)行實(shí)例。-U :指定登錄SQL Server 的帳號(hào)。-P :上述帳號(hào)對(duì)應(yīng)的密碼。若指定-P 選項(xiàng)但不賦予值,則SQLDiag 認(rèn)定密碼為空。密碼有區(qū)分大小寫(xiě)。-E:使用信任連接,也就是以當(dāng)前登錄作業(yè)系統(tǒng)的帳號(hào)來(lái)連接SQL Server。-O :將SQLDiag 的導(dǎo)出重新導(dǎo)向到指定的檔。若未指定-O 選項(xiàng),則默認(rèn)輸出檔名稱(chēng)為SQLDiag.txt。此時(shí),跟蹤檔案名稱(chēng)仍維持原先的blackbox.trc 和bl

14、ackbox_01.trc。若指定-O 選項(xiàng),則SQLDiag根據(jù)你配置的名稱(chēng),重新命名跟蹤文件blackbox.trc 和blackbox_01.trc (例如,若output_file 指定為MyDiagnostics.txt,跟蹤檔將分別重新命名為MyDiagnostics.trc 和MyDiagnostics_01.trc)。-X:排除錯(cuò)誤日誌檔。-M:執(zhí)行DBCC 堆疊列印(stackdump)。-C:抽取聚集信息。執(zhí)行範(fàn)例如下:SQLDiag -E -O diag.log通過(guò)E 參數(shù),會(huì)以登錄作業(yè)系統(tǒng)的帳號(hào)登錄 SQL Server,而O diag.log 參數(shù)則會(huì)產(chǎn)生名稱(chēng)為dia

15、g.log 的輸出。1.7 性能監(jiān)視器(Performance Monitor)Windows NT 之後所附的性能監(jiān)視器是顯示各種性能資料非常詳盡的工具。你可以用它來(lái)觀(guān)測(cè)伺服器當(dāng)前的運(yùn)行,記錄整個(gè)系統(tǒng)多臺(tái)機(jī)器上的各種性能計(jì)數(shù)器,以找出整個(gè)系統(tǒng)的瓶頸。我們?cè)谛阅苷{(diào)校的過(guò)程中會(huì)一再地用它。Windows NT 之後,就直接提供性能監(jiān)視器(Performance Monitor),一般是用來(lái)查看、跟蹤在整個(gè)系統(tǒng)中,是否有哪個(gè)部分顯示資源不足的狀態(tài),或是系統(tǒng)的使用狀況、演變的趨勢(shì)等等。而性能計(jì)數(shù)器代表的是一種指標(biāo),它本身不是問(wèn)題,某些背後隱含的問(wèn)題導(dǎo)致該指標(biāo)的變化。因此不要看到單一性能計(jì)數(shù)器的值就下

16、定論,一定要建立推論:是什麼原因?qū)е略撔阅苡?jì)數(shù)器有當(dāng)前的值,若該原因是真的,那同時(shí)哪些性能計(jì)數(shù)器應(yīng)該顯示什麼現(xiàn)象?而你當(dāng)然應(yīng)該再進(jìn)一步分析與推論相關(guān)的計(jì)數(shù)器。性能監(jiān)視器讓你獲得證據(jù)以完成:支持自己的假設(shè),或是推翻結(jié)論另尋原因。獲取電腦全盤(pán)的狀態(tài),讓你可以發(fā)現(xiàn)電腦發(fā)生了什麼狀況(WHAT) ,而不是為何(WHY)或如何(HOW)發(fā)生這種狀況。抽取電腦變化的狀態(tài),有基線(xiàn)以供比較是非常重要的,它讓你可以知道什麼是正常,而什麼不是。如果無(wú)法獲取基線(xiàn),則尋找記錄中的變化,查看計(jì)數(shù)器相對(duì)的值而非絕對(duì)的值,並與先前的使用經(jīng)驗(yàn)做一個(gè)比較。除了一般的硬體,如記憶體、硬碟、中央處理器乃至於網(wǎng)路等系統(tǒng)提供的性能計(jì)數(shù)

17、器外,大部分微軟提供的伺服器軟體在安裝完畢後,也會(huì)註冊(cè)它自身的性能計(jì)數(shù)器,而SQL Server 會(huì)增加相當(dāng)多類(lèi)的性能計(jì)數(shù)器供你查核使用狀況,而這些性能物件皆以“SQLServer:”開(kāi)頭。在要抽取性能的記錄之前,儘量將不相關(guān)的、當(dāng)前不需要的服務(wù)先停掉,如IIS,系統(tǒng)掃毒等等。如果需要調(diào)校的電腦可能會(huì)當(dāng)機(jī),則要採(cǎi)用遠(yuǎn)端記錄,避免資料未記錄到就掛了。相反地,若網(wǎng)路有問(wèn)題,當(dāng)然需要在本機(jī)完成記錄。而一旦採(cǎi)用遠(yuǎn)端監(jiān)控,要先同步兩臺(tái)機(jī)器的時(shí)間才好比對(duì)結(jié)果。你可以在命令提示視窗中,通過(guò)以下的命令同步系統(tǒng)之間的時(shí)間:NET TIME RemoteMachine /SET就SQL Server 的使用特性來(lái)

18、說(shuō),依其重要程度,觀(guān)察硬體資源不足的順序依序是:記憶體、硬碟、中央處理器乃至於網(wǎng)路。SQL Server 是非常耗用記憶體的軟體,因?yàn)樗灿眠^(guò)的資料必先留在記憶體中,除非資源不足,否則不輕易從緩衝區(qū)清掉,讓資料庫(kù)的運(yùn)行儘量少使用硬碟。當(dāng)記憶體不足時(shí),會(huì)連帶地影響硬碟和中央處理器。例如有新的資料要放到屬性已滿(mǎn)的緩衝區(qū),則SQL Server 內(nèi)部負(fù)責(zé)將緩衝區(qū)屬性更新到硬碟的LazyWriter 程式就需要持續(xù)地執(zhí)行,好更新緩衝區(qū)的資料,並釋放較沒(méi)有使用到的記憶體區(qū)塊,這會(huì)同時(shí)讓CPU 與硬碟忙碌起來(lái)。也就是說(shuō),當(dāng)CPU 和硬碟性能不足時(shí),有可能源頭是記憶體不足造成的。磁片子系統(tǒng)的性能不佳,也一定

19、會(huì)讓SQL Server 性能好不起來(lái),畢竟它需要大量讀寫(xiě)存在硬碟上資料庫(kù)內(nèi)的資料。若你沒(méi)錢(qián)購(gòu)置RAID,最好也多買(mǎi)幾顆硬碟,讓Log 檔、資料庫(kù)檔以及Windows 作業(yè)系統(tǒng)用做虛擬記憶體的交換檔分在不同的硬碟上,因?yàn)檫@三種檔的設(shè)計(jì)目的不同,存取的習(xí)性與頻率也不同,當(dāng)三者在同一顆硬碟上時(shí),有可能因?yàn)槎鄠€(gè)人存取資料庫(kù),有的做更新,有的查詢(xún),這些運(yùn)行讓作業(yè)系統(tǒng)要配置虛擬記憶體,因此硬碟要同時(shí)存取三種檔,這會(huì)導(dǎo)致磁頭忙碌地移動(dòng),讓硬碟的存取大多是隨機(jī)讀取,無(wú)法做循序讀取,導(dǎo)致硬碟性能降低。因此建議將三種檔分別放在不同的硬碟上。硬碟的性能遲緩,必定導(dǎo)致資料庫(kù)的查詢(xún)與資料異動(dòng)延遲(這兩種動(dòng)作分別是存取

20、資料庫(kù)檔與Log 檔),這又造成事務(wù)要花較長(zhǎng)的時(shí)間才能結(jié)束,進(jìn)而讓鎖的資源無(wú)法釋放,多人存取的系統(tǒng)彼此等待資源,進(jìn)入大家都被延遲的慘況。CPU性能的重要性不用強(qiáng)調(diào)了吧,它慢,週邊設(shè)備再快都沒(méi)有用。但要注意的是,我們當(dāng)前電腦的設(shè)計(jì)往往是中央處理器極快,但週邊運(yùn)行緩慢,導(dǎo)致CPU無(wú)法有效發(fā)揮它的能力。因此當(dāng)考慮加強(qiáng)中央處理器時(shí),要看看是否是周邊設(shè)備的不足,導(dǎo)致CPU忙碌。一般來(lái)說(shuō),啟動(dòng)性能監(jiān)視器後,只要記錄資訊而不需要做圖。以較穩(wěn)定的方式抽取電腦完整的狀態(tài),由於在事前你很難預(yù)料判斷瓶頸時(shí),會(huì)需要哪些資料,所以?xún)嵙坑涗浰械挠?jì)數(shù)器5。如圖3.5 所示,除了通過(guò)默認(rèn)的視窗觀(guān)察系統(tǒng)當(dāng)前的情況外,最好還要

21、通過(guò)添加記錄的方式,對(duì)系統(tǒng)作較長(zhǎng)時(shí)間的監(jiān)控。執(zhí)行性能監(jiān)視器時(shí)間要長(zhǎng)到足以抓取到問(wèn)題,一般粗略的配置綱要如下:記錄2小時(shí)每4 秒記錄一次。記錄1天每30 秒記錄一次。記錄1天每180 秒記錄一次?;顒?dòng)中的圖形只能顯示瞬間的系統(tǒng)狀況,長(zhǎng)時(shí)間記錄的資料才能看出趨勢(shì)時(shí)間間隔不要小於4 秒,以免記錄這個(gè)動(dòng)作本身就傷害電腦的性能,除非是要抽取磁片I/O 的性能,最高頻率也勿超過(guò)每2 秒記錄一次。另外,為減輕對(duì)電腦長(zhǎng)期的影響,若沒(méi)有特殊需求,只要記錄2 小時(shí)就好。如果需要的話(huà),執(zhí)行diskperf y 以抽取磁片的性能資訊。初次記錄時(shí),在不傷及性能的前提下,僅可能地抽取所有的物件,供你對(duì)整個(gè)系統(tǒng)有一個(gè)全面性

22、的概觀(guān)??s略表列一般要記錄的物件如下(如果不可能取得全部物件):Cache, memory, objects, paging file, physical disk, logical disk, process, thread, processor, server, system。所有的SQL Server 物件。如果有網(wǎng)路相關(guān)的問(wèn)題,所有與網(wǎng)路相關(guān)的物件(Protocol Stack Objects)。一次記錄通常無(wú)法包含所有需要的資訊,可能要多次後續(xù)不同的記錄資料。另外,在記錄上尚有其他的考量,如每個(gè)記錄存成一個(gè)檔,在記錄停止後,下次打開(kāi)一個(gè)新的檔。檢查記錄檔所花的硬碟空間。若某個(gè)日誌檔屬

23、性太大,而你只需要其中重要的部分,重新建立記錄(Re-logging)可能會(huì)很有用。日誌檔最大極限1 gigabyte (GB),而單一日誌檔太大也很難處理,可行的日誌檔大小應(yīng)該在100 megabytes (MB) 左右,建議取50 MB。若你需要長(zhǎng)時(shí)間記錄,而系統(tǒng)是在Windows NT 上,考慮以script 自動(dòng)停掉並重起記錄,以減低記錄檔大小。若在Windows 2000 則可以利用Sysmon 的計(jì)畫(huà)任務(wù),定時(shí)停掉並重起記錄,以分成多個(gè)日誌檔。使用Windows XP 或Windows 2003,可以通過(guò)Relog.exe 工具程式對(duì)事件重新建立記錄,它可以將日誌檔轉(zhuǎn)換成不同的格式

24、,並在新建立的日誌檔中包含較少的計(jì)數(shù)器數(shù)目。使用relog.exe 的步驟如下:1. 查看日誌檔資料:打開(kāi)先前抽取的.blg 文件。2. 選擇你要繪圖的計(jì)數(shù)器。3. 圖表上以滑鼠右鍵選擇“另存新檔”,格式為HTML。4. 將新建的html 檔以附屬應(yīng)用程式的“記事本”打開(kāi)。5. 保留你有興趣的計(jì)數(shù)器,將其餘的計(jì)數(shù)器刪掉,同時(shí)把所有的格式通通刪掉,只保留如下的格式屬性:ComputerObjectParent/Instance#IndexCounter若需要多個(gè)計(jì)數(shù)器,則每個(gè)名稱(chēng)間以換行符號(hào)分開(kāi),範(fàn)例如下:BYRON2003NBMemoryPages/secBYRON2003NBPhysical

25、Disk(_Total)Avg. Disk Queue LengthBYRON2003NBProcessor(_Total)% Processor Time其中Computer 名稱(chēng)可以省略。6. 以一般文字檔案格式ANSI 編碼存檔,或許換個(gè)檔案名比較合適,例如以.txt 為副檔名。要小心的是默認(rèn)“Windows System Monitor”將HTML 格式的配置檔是以Unicode 存檔,“記事本”會(huì)依照原編碼格式也就是Unicode 存檔,而Relog.exe 看不懂這種檔格式。命令執(zhí)行範(fàn)例如下:relog SQLPerformance.blg -cf General.txt -f C

26、SV -o General.csv在範(fàn)例中,原始日誌性能的檔案名稱(chēng)是SQLPerformance.blg,而該檔以二進(jìn)位格式存放性能日誌資料,而我們只取部分的計(jì)數(shù)器,定義在General.txt 文件中。過(guò)濾的結(jié)果將以逗號(hào)分隔的一般文字存檔,也就是默認(rèn)給Excel 看的.csv 檔,所以結(jié)果輸出到General.csv 檔中,你可以直接通過(guò)Excel 打開(kāi)查看分析。上述步驟的相關(guān)細(xì)節(jié)可以參閱微軟支援網(wǎng)站,查詢(xún)檔“Q195654 Methods for Condensing a Performance Monitor Log File”,或是執(zhí)行範(fàn)例光碟第3章“重新過(guò)濾Log”目錄下的myRel

27、og.cmd 批次檔案來(lái)測(cè)試錄製完一段時(shí)間的系統(tǒng)執(zhí)行狀況後,接著要做的是顯示以及替日誌檔繪圖,Windows NT 所附的Perfmon 受限在只能畫(huà)到100%,而Windows 2000 之後的Sysmon 則可以超過(guò)這個(gè)範(fàn)圍。若系統(tǒng)間有不同時(shí)區(qū)的差異,Sysmon 會(huì)做調(diào)整,Perfmon 則不會(huì)。若要與其他的資料做比較而時(shí)區(qū)不同,如SQL Profiler 的跟蹤檔,可能會(huì)造成混淆。在查看資料時(shí),應(yīng)先繪製全部記錄的圖表,以瞭解整體的趨勢(shì)。對(duì)於同一個(gè)日誌檔可以繪製多個(gè)圖表,以避免單一圖表顯示過(guò)多的資訊。為不同的記錄instance 配置不同的值域範(fàn)圍(range),若要突顯圖表中某個(gè)ins

28、tance 的線(xiàn)條,可以在下方區(qū)塊選到該線(xiàn)條後按快捷鍵Ctrl+H。查看圖形時(shí),利用時(shí)間範(fàn)圍slider 來(lái)取得特定趨勢(shì)時(shí)段的細(xì)節(jié),並利用鍵盤(pán)上的左右箭頭一次移動(dòng)一個(gè)點(diǎn),若偶有一兩個(gè)點(diǎn)遠(yuǎn)高出邊界,可能是除零運(yùn)算的結(jié)果,可以忽略不計(jì)。最後要注意的是不要利用Windows NT 的Perfmon 讀取Windows 2000 Sysmon 產(chǎn)生的日誌檔當(dāng)要分析記錄所得的資料時(shí),尋找某些模式,以及不正常之高或低的計(jì)數(shù)值,這有助於瞭解什麼是“正?!敝?,對(duì)建立基線(xiàn)是有幫助的,如果一個(gè)計(jì)數(shù)器顯示某個(gè)問(wèn)題,可尋找其他的證據(jù)以支持你的理論,例如:% Process Time 的值持續(xù)很高,瓶頸不一定是在CPU

29、 。也可能因?qū)嶓w記憶體不足,為了處理page faults 造成很高的%Privilege Time。SQL Server Total Server Memory 持續(xù)飆高不一定是memory leak。Buffer Pool 會(huì)在SQL Server 尚未用到記憶體限制或極限時(shí),持續(xù)增加。不要忘了查看SQL Profiler 跟蹤檔、errorlog,或其他相關(guān)資訊,有助於解釋你在性能記錄所看到的現(xiàn)象。當(dāng)特定的計(jì)數(shù)值走高時(shí):SQL Profiler 是否同時(shí)抽取到值得注意的現(xiàn)象?是否有大量的recompile 和compile 事件?是否有特別的查詢(xún)或批次處理工作在執(zhí)行?是否在errorlo

30、g 中看到任何錯(cuò)誤或資訊?性能監(jiān)視器就介紹到此,我們接著要討論的是針對(duì)個(gè)別問(wèn)題需要進(jìn)一步研究時(shí),可以?huà)?cǎi)用的工具程式。1.8 VBCheckW2k用於檢查使用VB編寫(xiě)的DLL編譯是否正確,可以檢查整個(gè)系統(tǒng)中的COM+元件物件、IIS Web 應(yīng)用程式以及單個(gè)的DLL檔使用方法:vbchkw2k /sc or dllname 參數(shù)說(shuō)明:1:/sc 掃描IIS(進(jìn)程中),OOP Pooled、以及安裝在COM+元件和COM+目錄下的獨(dú)立的應(yīng)用程式;(由於K/3系統(tǒng)相應(yīng)的DLL比較多,可以把內(nèi)容輸出成一個(gè)日誌檔,然後在進(jìn)行分析,方式在後面加上” log.txt “)2:dllname 掃描指定的DLL

31、3:無(wú)掃描IIS(進(jìn)程中),OOP Pooled、以及安裝在COM+元件下的獨(dú)立的應(yīng)用程式;示例命令:vbchkw2k /sc log.txt結(jié)果:Scanning dllhost.exe (PID:828) kdsvrmgrC:WINNTsystem32KDCOMKdsvrmgr.dll is fine. Retained In Memory :ON Unattended Execution :ON Retained In Memory :OFF Unattended Execution :OFF C:WINNTsystem32KDCOMMTSCACHESERVICE.DLL Please

32、Recompile! Retained In Memory :OFF Unattended Execution :OFFC:WINNTsystem32KDVBF.dll Please Recompile! Retained In Memory :OFF Unattended Execution :OFFC:Program FilesKingdeeK/3ERPKDLOG4VB.DLL Please Recompile!從上面的結(jié)果可以看出:在COM+元件服務(wù)中的Kdsvrmgr.dll是沒(méi)有問(wèn)題的,而且保持在記憶體中;但MTSCACHESERVICE.DLL,KDVBF.dll,KDLOG4VB

33、.DLL需要重新編譯。1.9 ADPlus通過(guò)自動(dòng)運(yùn)行CDB調(diào)試器來(lái)產(chǎn)生一個(gè)或多個(gè)進(jìn)程的記憶體DUMP和LOG檔,CDB(Microsoft Console Debugger)是基於字元的控制臺(tái)程式,可以分析更底層的Windows用戶(hù)模式的記憶體構(gòu)造情況。ADPlus 可以創(chuàng)建不同場(chǎng)景下的詳細(xì)的dump檔。這個(gè)檔包括了出現(xiàn)問(wèn)題時(shí)所需要的調(diào)試資訊。使用之前需要設(shè)置符號(hào)表資訊路徑:1:如果本地沒(méi)有符號(hào)表,但可以訪(fǎng)問(wèn)網(wǎng)路可以在環(huán)境變數(shù)中增加下面的內(nèi)容;(DownstreamStore為本地符號(hào)表的目錄)。2:也可以到微軟網(wǎng)站下載符號(hào)表,安裝到本地,然後在環(huán)境表量中增加下面內(nèi)容set _NT_SYSM

34、BOL_PATH=c:symbol(假設(shè)按照在c:symbol目錄下)下載路徑:。何時(shí)使用,何時(shí)不使用在系統(tǒng)出現(xiàn)下面的情況時(shí),可以考慮使用ADPlus:進(jìn)程掛起在單個(gè)處理器電腦上100%的CPU,在雙CPU上50%CPU,在4個(gè)CPU上25%的CPU等待進(jìn)程出現(xiàn)異?;蛘叻钦5年P(guān)閉但在下面的情況不要使用ADPlus如果需要對(duì)程式進(jìn)行故障檢查或者進(jìn)程啟動(dòng)時(shí)異常結(jié)束如在crash模式下使用對(duì)執(zhí)行性能有明顯的影響應(yīng)用場(chǎng)景ADPlus應(yīng)用的場(chǎng)景主要包括以下方面:進(jìn)程掛起或者消耗100%的CPU進(jìn)程異常結(jié)束MTS或COM+服務(wù)應(yīng)用異常結(jié)束在遠(yuǎn)端Crash模式下運(yùn)行在Crash模式下監(jiān)視ADPlus使用方

35、法ADPlus.vbs hang pn dllhost.exe 獲取掛起進(jìn)程的dump檔;ADPlus.vbs hang p 1860 獲取掛起進(jìn)程ID為1860的dump文件;進(jìn)程ID可以通過(guò)任務(wù)管理器來(lái)獲??;ADPlus.vbs -crash p 1860 獲取掛起進(jìn)程ID為1860的crash文件;進(jìn)程ID可以通過(guò)任務(wù)管理器來(lái)獲??;示例:在CMD模式下,執(zhí)行ADPlus.vbs hang p 1960,出現(xiàn)下面的提示下面的資訊:選擇確定後,系統(tǒng)將提示下面的資訊:選擇確定選擇確定系統(tǒng)提示生成檔在:D:Program FilesDebugging Tools for WindowsHang_

36、Mode_Date_07-20-2005_Time_16-08-1515目錄下,檔案名為PID-1960_DLLHOST.EXE_System_Application_full_0568_2005-07-20_16-08-31-794_07A8.dmp,該檔即是需要的DUMP檔。必須確定有符號(hào)表,如果未設(shè)置符號(hào)表,那麼在生成檔的目錄下,的日誌檔中會(huì)看到下面的錯(cuò)誤資訊,將影響分析。* ERROR: Symbol file could not be found. Defaulted to export symbols for C:WINNTsystem32KERNEL32.DLL -ChildEB

37、P RetAddr Args to ChildWARNING: Stack unwind information not available. Following frames may be wrong.0006fd50 77e63b50 0000004c ffffffff 00000000 ntdll!NtWaitForSingleObject+0 xb* ERROR: Symbol file could not be found. Defaulted to export symbols for C:WINNTsystem32ole32.dll -0006fd60 77a8a701 0000

38、004c ffffffff 00079614 KERNEL32!WaitForSingleObject+0 xf00000000 00000000 00000000 00000000 00000000 ole32!CoRegisterSurrogateEx+0 x95b1.10 COM+ SPYCOM spy用於獲取COM+元件調(diào)用時(shí)相應(yīng)的進(jìn)程事件或者應(yīng)用程式調(diào)用所花費(fèi)的時(shí)間,來(lái)查找產(chǎn)生性能問(wèn)題的瓶頸。用法如下:1:運(yùn)行ComSpy.exe程式,在運(yùn)行的時(shí)候首先保證“ComSpyCtl.dll”和“ComSpyAudit.dll”已經(jīng)註冊(cè);2:選擇功能表“spy”下的“select event

39、s”,將彈出下面的介面,選擇後點(diǎn)擊“close”按鈕,此時(shí)系統(tǒng)將自動(dòng)對(duì)選擇的內(nèi)容進(jìn)行跟蹤:3:跟蹤結(jié)果如下圖:4:同時(shí)該工具也支持將跟蹤的結(jié)果導(dǎo)出到檔中。同時(shí)也可以打開(kāi)導(dǎo)出的檔進(jìn)行分析。1.11 Process Explorer進(jìn)程流覽器用於查看當(dāng)前運(yùn)行的所有進(jìn)程,進(jìn)程中調(diào)用的DLL,線(xiàn)程和控制碼以及記憶體的分配情況。同時(shí)可以設(shè)置進(jìn)程的優(yōu)先順序別或者殺掉進(jìn)程。在刪除檔的時(shí)候,如果報(bào)檔已經(jīng)被系統(tǒng)引用,這時(shí)候也可以根據(jù)該工具來(lái)查找對(duì)應(yīng)被那個(gè)進(jìn)程調(diào)用,查看其相應(yīng)的控制碼,通過(guò)關(guān)閉控制碼操作來(lái)結(jié)束對(duì)該檔的調(diào)用。下面對(duì)基本的使用方法進(jìn)行介紹:1:?jiǎn)?dòng)後介面如下:2:查看CPU的使用情況:3:查看進(jìn)程相應(yīng)

40、的資訊:上面為SQL SERVER的屬性資訊包括了線(xiàn)程,性能,TCP/IP連接,安全,環(huán)境變數(shù)設(shè)置,服務(wù)等資訊。1.12 DebugDiag用於分析記憶體的分配和使用情況,在使用的時(shí)候儘量把不需要使用的進(jìn)程關(guān)閉。它的原理在於抓取進(jìn)程的影像檔,對(duì)影像檔進(jìn)行分析,最後統(tǒng)計(jì)出進(jìn)程的分配情況。下面對(duì)使用進(jìn)行一個(gè)簡(jiǎn)單說(shuō)明:1:設(shè)置符號(hào)表路徑2:選擇需要抓取進(jìn)程的記憶體鏡像3:抓取完成後就可以使用工具進(jìn)行分析了,下圖選擇了兩個(gè)DUMP檔進(jìn)行分析:然後選擇“Start Analysis”進(jìn)行分析;4:分析過(guò)程:5:分析結(jié)果:分析的結(jié)構(gòu)將生成一個(gè)如下的分析檔,該檔中包括分析的摘要和明細(xì)資訊,資訊中會(huì)提示檔導(dǎo)致

41、花費(fèi)了多少的記憶體,以及產(chǎn)生記憶體洩露的百分比等等。具體資訊同附件類(lèi)似。不過(guò)現(xiàn)在微軟所出的版本分析的內(nèi)容有限,可能不一定能滿(mǎn)足實(shí)際的需求。1.13 WinDBGWinDBG是基於對(duì)DUMP和Crash檔進(jìn)行分析的工具,用於查看靜態(tài)記憶體的使用情況,在出現(xiàn)了COM+掛起,CPU100%,異常退出和性能問(wèn)題的時(shí)候,都可以通過(guò)該工具進(jìn)行分析,查看問(wèn)題的所在。本部分主要是對(duì)常用的使用的命令進(jìn)行一個(gè)說(shuō)明(首先還是需要設(shè)置好符號(hào)表,符號(hào)表的設(shè)置參見(jiàn)ADPlus的使用):*:查看所有的進(jìn)程;*kb:查看所有進(jìn)程的代碼段;10s:進(jìn)入10號(hào)進(jìn)程;kb:在進(jìn)入具體某個(gè)進(jìn)程後,查看對(duì)應(yīng)所有代碼段的內(nèi)容;kP:在進(jìn)

42、入具體某個(gè)進(jìn)程後,查看對(duì)應(yīng)所有代碼段的內(nèi)容,包括內(nèi)部的參數(shù)情況;dc,du,dt addr:查看addr記憶體位址的值;lm:查看進(jìn)程調(diào)用的資源情況;!lmi ModualName:顯示Module的詳細(xì)資訊;vertarget:顯示目標(biāo)電腦的版本;!load sieext.dll:調(diào)用DLL文件;!sieext.critlist:查看鎖死的進(jìn)程;!calls:查看進(jìn)程內(nèi)部調(diào)用的相關(guān)進(jìn)程;1.14收集電腦資訊工具自動(dòng)收集伺服器的事件日誌,系統(tǒng)配置環(huán)境,作業(yè)系統(tǒng)版本等資訊。對(duì)與中間層伺服器使用MPSRPT_Alliance_X86.EXE,對(duì)於資料庫(kù)伺服器使用MPSRPT_SQL.exe工具位置

43、:MPSRPT_Alliance_X86.EXE:;MPSRPT_SQL.exe:如果現(xiàn)場(chǎng)問(wèn)題需要總部支援的話(huà),請(qǐng)使用上面的工具收集電腦的資訊。MPSRPT_SQL.exe 運(yùn)行後:將會(huì)生成CAB檔,CAB會(huì)被生成在%systemroot%MPSReportsSQLServerCab目錄。通常名字為%COMPUTERNAME%_SQL_MPSReports_XXXXXXXXXX_X.CAB。 (%systemroot%為Windows系統(tǒng)目錄,比如C:Windows or C:Winnt)1.15檢查網(wǎng)路工具 PingPing 是個(gè)使用頻率極高的實(shí)用程式,用於確定本地主機(jī)是否能與另一臺(tái)主機(jī)交換

44、(發(fā)送與接收)資料報(bào)。根據(jù)返回的資訊,你就可以推斷TCP/IP 參數(shù)是否設(shè)置得正確以及運(yùn)行是否正常。簡(jiǎn)單的說(shuō),Ping 就是一個(gè)測(cè)試程式,如果Ping 運(yùn)行正確,你大體上就可以排除網(wǎng)路訪(fǎng)問(wèn)層、網(wǎng)卡、MODEM 的輸入輸出線(xiàn)路、電纜和路由器等存在的故障,從而減小了問(wèn)題的範(fàn)圍。但由於可以自定義所發(fā)資料報(bào)的大小及無(wú)休止的高速發(fā)送,Ping 也被某些別有用心的人作為DDOS(拒絕服務(wù)攻擊)的工具,Yahoo 就曾經(jīng)被駭客利用數(shù)百臺(tái)可以高速接入互聯(lián)網(wǎng)的電腦連續(xù)發(fā)送大量Ping 資料報(bào)而癱瘓的。按照缺省設(shè)置,Windows 上運(yùn)行的Ping 命令發(fā)送4 個(gè)ICMP(網(wǎng)間控制報(bào)文協(xié)定)回送請(qǐng)求,每個(gè)32 位

45、元組資料,如果一切正常,你應(yīng)能得到4 個(gè)回送應(yīng)答。Ping 能夠以毫秒為單位顯示發(fā)送回送請(qǐng)求到返回回送應(yīng)答之間的時(shí)間量。如果應(yīng)答時(shí)間短,表示資料報(bào)不必通過(guò)太多的路由器或網(wǎng)路連接速度比較快。Ping 還能顯示TTL(Time To Live 存在時(shí)間)值,你可以通過(guò)TTL 值推算一下資料包已經(jīng)通過(guò)了多少個(gè)路由器:源地點(diǎn)TTL 起始值(就是比返回TTL 略大的一個(gè)2 的乘方數(shù))減去返回時(shí)TTL 值。例如,返回TTL 值為119,那麼可以推算資料報(bào)離開(kāi)源位址的TTL 起始值為128,而源地點(diǎn)到目標(biāo)地點(diǎn)要通過(guò)9 個(gè)路由器網(wǎng)段(128-119);如果返回TTL 值為246,TTL 起始值就是256,源地

46、點(diǎn)到目標(biāo)地點(diǎn)要通過(guò)9 個(gè)路由器網(wǎng)段。通過(guò)Ping 檢測(cè)網(wǎng)路故障的典型次序正常情況下,當(dāng)你使用Ping 命令來(lái)查找問(wèn)題所在或檢驗(yàn)網(wǎng)路運(yùn)行情況時(shí),你需要使用許多Ping 命令,如果所有都運(yùn)行正確,你就可以相信基本的連通性和配置參數(shù)沒(méi)有問(wèn)題;如果某些Ping 命令出現(xiàn)運(yùn)行故障,它也可以指明到何處去查找問(wèn)題。下面就給出一個(gè)典型的檢測(cè)次序及對(duì)應(yīng)的可能故障:這個(gè)Ping 命令被送到本地電腦的IP 軟體,你的電腦始終都應(yīng)該對(duì)該P(yáng)ing 命令作出應(yīng)答,如果沒(méi)有,就表示TCP/IP 的安裝或運(yùn)行存在某些最基本的問(wèn)題。ping 本機(jī)IP-這個(gè)命令被送到你電腦所配置的IP 位址,你的電腦始終都應(yīng)該對(duì)該P(yáng)ing 命令

47、作出應(yīng)答,如果沒(méi)有,則表示本地配置或安裝存在問(wèn)題。出現(xiàn)此問(wèn)題時(shí),局域網(wǎng)用戶(hù)請(qǐng)斷開(kāi)網(wǎng)路電纜,然後重新發(fā)送該命令。如果網(wǎng)線(xiàn)斷開(kāi)後本命令正確,則表示另一臺(tái)電腦可能配置了相同的IP 位址。ping 局域網(wǎng)內(nèi)其他IP-這個(gè)命令應(yīng)該離開(kāi)你的電腦,經(jīng)過(guò)網(wǎng)卡及網(wǎng)路電纜到達(dá)其他電腦,再返回。收到回送應(yīng)答表明本地網(wǎng)路中的網(wǎng)卡和載體運(yùn)行正確。但如果收到0 個(gè)回送應(yīng)答,那麼表示子網(wǎng)路遮罩(進(jìn)行子網(wǎng)分割時(shí),將IP 位址的網(wǎng)路部分與主機(jī)部分分開(kāi)的代碼)不正確或網(wǎng)卡配置錯(cuò)誤或電纜系統(tǒng)有問(wèn)題。ping 閘道IP-這個(gè)命令如果應(yīng)答正確,表示局域網(wǎng)中的閘道路由器正在運(yùn)行並能夠作出應(yīng)答。ping 遠(yuǎn)端IP-如果收到4 個(gè)應(yīng)答,表示

48、成功的使用了缺省閘道。(但如果對(duì)方設(shè)置了防火牆,則可能會(huì)收不到應(yīng)答)。ping localhost-localhost 是個(gè)系統(tǒng)的網(wǎng)路保留名,它是 的別名,每臺(tái)電腦都應(yīng)該能夠?qū)⒃撁洲D(zhuǎn)換成該位址。如果沒(méi)有做到這一點(diǎn),則表示主機(jī)檔(/Windows/host)中存在問(wèn)題。對(duì)這個(gè)功能變數(shù)名稱(chēng)執(zhí)行Ping 位址,你也可以利用該命令實(shí)現(xiàn)功能變數(shù)名稱(chēng)對(duì)IP位址的轉(zhuǎn)換功能。如果得不到IP 位址,則表示DNS 伺服器的IP 位址配置不正確或DNS 伺服器有故障。如果上面所列出的所有Ping 命令都能正常運(yùn)行,那麼你對(duì)你的電腦進(jìn)行本地和遠(yuǎn)端通信的功能基本上就可以放心了。但是,這些命令的成功並不表示你所有的網(wǎng)路

49、配置都沒(méi)有問(wèn)題,例如,某些子網(wǎng)路遮罩錯(cuò)誤就可能無(wú)法用這些方法檢測(cè)到。Ping 命令的常用參數(shù)選項(xiàng)ping IP -t-連續(xù)對(duì)IP 位址執(zhí)行Ping 命令,直到被用戶(hù)以Ctrl+C 中斷。ping IP -l 2000-指定Ping 命令中的資料長(zhǎng)度為2000 位元組,而不是缺省的32 位元組。ping IP -n-執(zhí)行特定次數(shù)的Ping 命令。1.15.2 NetstatNetstat 用於顯示與IP、TCP、UDP 和ICMP 協(xié)定相關(guān)的統(tǒng)計(jì)資料,一般用於檢驗(yàn)本機(jī)各埠的網(wǎng)路連接情況。如果你的電腦有時(shí)候接受到的資料報(bào)會(huì)導(dǎo)致出錯(cuò)資料刪除或故障,你不必感到奇怪,TCP/IP 可以容許這些類(lèi)型的錯(cuò)誤

50、,並能夠自動(dòng)重發(fā)資料報(bào)。但如果累計(jì)的出錯(cuò)情況數(shù)目占到所接收的IP 資料報(bào)相當(dāng)大的百分比,或者它的數(shù)目正迅速增加,那麼你就應(yīng)該使用Netstat 查一查為什麼會(huì)出現(xiàn)這些情況了。netstat 的一些常用選項(xiàng):netstat -s-本選項(xiàng)能夠按照各個(gè)協(xié)定分別顯示其統(tǒng)計(jì)資料。如果你的應(yīng)用程式(如Web 流覽器)運(yùn)行速度比較慢,或者不能顯示W(wǎng)eb 頁(yè)之類(lèi)的資料,那麼你就可以用本選項(xiàng)來(lái)查看一下所顯示的資訊。你需要仔細(xì)查看統(tǒng)計(jì)資料的各行,找到出錯(cuò)的關(guān)鍵字,進(jìn)而確定問(wèn)題所在。netstat -e-本選項(xiàng)用於顯示關(guān)於乙太網(wǎng)的統(tǒng)計(jì)資料。它列出的專(zhuān)案包括傳送的資料報(bào)的總位元組數(shù)、錯(cuò)誤數(shù)、刪除數(shù)、資料報(bào)的數(shù)量和廣播

51、的數(shù)量。這些統(tǒng)計(jì)資料既有發(fā)送的資料報(bào)數(shù)量,也有接收的資料報(bào)數(shù)量。這個(gè)選項(xiàng)可以用來(lái)統(tǒng)計(jì)一些基本的網(wǎng)路流量)。netstat -r-本選項(xiàng)可以顯示關(guān)於路由表的資訊,類(lèi)似於後面所講使用route print命令時(shí)看到的資訊。除了顯示有效路由外,還顯示當(dāng)前有效的連接。netstat -a-本選項(xiàng)顯示一個(gè)所有的有效連接資訊列表,包括已建立的連接(ESTABLISHED),也包括監(jiān)聽(tīng)連接請(qǐng)求(LISTENING)的那些連接。netstat -n顯示所有已建立的有效連接,並用數(shù)位形式來(lái)顯示位址.1.15.3 ARP(位址轉(zhuǎn)換協(xié)定)ARP 是一個(gè)重要的TCP/IP 協(xié)議,並且用於確定對(duì)應(yīng)IP 位址的網(wǎng)卡物理位

52、址。實(shí)用arp 命令,你能夠查看本地電腦的ARP 快取記憶體中的當(dāng)前內(nèi)容。此外,使用arp 命令,也可以用人工方式輸入靜態(tài)的網(wǎng)卡物理/IP 位址對(duì),你可能會(huì)使用這種方式為缺省閘道和本端伺服器等常用主機(jī)進(jìn)行這項(xiàng)工作,有助於減少網(wǎng)路上的信息量。按照缺省設(shè)置,ARP 快取記憶體中的專(zhuān)案是動(dòng)態(tài)的,每當(dāng)發(fā)送一個(gè)指定地點(diǎn)的資料報(bào)且快取記憶體中不存在當(dāng)前專(zhuān)案時(shí),ARP 便會(huì)自動(dòng)添加該項(xiàng)目。一旦快取記憶體的專(zhuān)案被輸入,它們就已經(jīng)開(kāi)始走向失效狀態(tài)。例如,在Windows NT 網(wǎng)路中,如果輸入專(zhuān)案後不進(jìn)一步使用,物理/IP 位址對(duì)就會(huì)在2 至10 分鐘內(nèi)失效。因此,如果ARP 快取記憶體中項(xiàng)目很少或根本沒(méi)有時(shí),

53、請(qǐng)不要奇怪,通過(guò)另一臺(tái)電腦或路由器的ping 命令即可添加。所以,需要通過(guò)arp 命令查看快取記憶體中的內(nèi)容時(shí),請(qǐng)最好先ping 此臺(tái)電腦。常用命令選項(xiàng):arp -a 或arp -g-用於查看快取記憶體中的所有項(xiàng)目。-a 和-g 參數(shù)的結(jié)果是一樣的,多年來(lái)-g 一直是UNIX 平臺(tái)上用來(lái)顯示ARP 快取記憶體中所有專(zhuān)案的選項(xiàng),而Windows 用的是arp -a(-a 可被視為all,即全部的意思),但它也可以接受比較傳統(tǒng)的-g 選項(xiàng)。arp -a IP-如果你有多個(gè)網(wǎng)卡,那麼使用arp -a 加上介面的IP 位址,就可以只顯示與該介面相關(guān)的ARP 緩存項(xiàng)目。arp -s IP 物理位址你可以

54、向ARP 快取記憶體中人工輸入一個(gè)靜態(tài)專(zhuān)案。該專(zhuān)案在電腦引導(dǎo)過(guò)程中將保持有效狀態(tài),或者在出現(xiàn)錯(cuò)誤時(shí),人工配置的物理位址將自動(dòng)更新該項(xiàng)目。arp -d IP-使用本命令能夠人工刪除一個(gè)靜態(tài)專(zhuān)案。1.15.4 Tracert當(dāng)資料報(bào)從你的電腦經(jīng)過(guò)多個(gè)閘道傳送到目的地時(shí),Tracert 命令可以用來(lái)跟蹤資料報(bào)使用的路由(路徑)。該實(shí)用程式跟蹤的路徑是源電腦到目的地的一條路徑,不能保證或認(rèn)為資料報(bào)總遵循這個(gè)路徑。如果你的配置使用DNS,那麼你常常會(huì)從所產(chǎn)生的應(yīng)答中得到城市、位址和常見(jiàn)通信公司的名字。Tracert 是一個(gè)運(yùn)行得比較慢的命令(如果你指定的目標(biāo)位址比較遠(yuǎn)),每個(gè)路由器你大約需要給它15 秒

55、鐘Tracert 的使用很簡(jiǎn)單,只需要在tracert 後面跟一個(gè)IP 位址或URL,Tracert 會(huì)進(jìn)行相應(yīng)的功能變數(shù)名稱(chēng)轉(zhuǎn)換的。Tracert 一般用來(lái)檢測(cè)故障的位置,你可以用tracert IP 在哪個(gè)環(huán)節(jié)上出了問(wèn)題,雖然還是沒(méi)有確定是什麼問(wèn)題。Tracert 工作原理通過(guò)向目標(biāo)發(fā)送不同IP 生存時(shí)間(TTL) 值的“Internet 控制消息協(xié)定(ICMP)”回應(yīng)資料包,Tracert 診斷程式確定到目標(biāo)所採(cǎi)取的路由。要求路徑上的每個(gè)路由器在轉(zhuǎn)發(fā)資料包之前至少將資料包上的TTL 遞減1。資料包上的TTL 減為0 時(shí),路由器應(yīng)該將“ICMP 已超時(shí)”的消息發(fā)回源系統(tǒng)。Tracert 先

56、發(fā)送TTL 為1 的回應(yīng)資料包,並在隨後的每次發(fā)送過(guò)程將TTL 遞增1,直到目標(biāo)響應(yīng)或TTL 達(dá)到最大值,從而確定路由。通過(guò)檢查中間路由器發(fā)回的“ICMP 已超時(shí)”的消息確定路由。某些路由器不經(jīng)詢(xún)問(wèn)直接丟棄TTL 過(guò)期的資料包,這在Tracert實(shí)用程式中看不到。Tracert 命令按順序列印出返回“ICMP 已超時(shí)”消息的路徑中的近端路由器介面列表。如果使用-d 選項(xiàng),則Tracert 實(shí)用程式不在每個(gè)IP 位址上查詢(xún)DNS。在下例中,資料包必須通過(guò)兩個(gè)路由器(.1 和)才能到達(dá)主機(jī)。主機(jī)的默認(rèn)閘道是, 網(wǎng)路上的路由器的IP 地址是。C:tracert 9 -dTracing route t

57、o 9 over a maximum of 30 hops1 2s 3s 2s .1Trace complete.用tracert 解決問(wèn)題可以使用tracert 命令確定資料包在網(wǎng)路上的停止位置。下例中,默認(rèn)閘道確定9 主機(jī)沒(méi)有有效路徑。這可能是路由器配置的問(wèn)題,或者是網(wǎng)路不存在(錯(cuò)誤的IP 位址)。C:Tracing route to 9 over a maximum of 30 hops1 .1 reportsestination net unreachable.Trace complete.Tracert 實(shí)用程式對(duì)於解決大網(wǎng)路問(wèn)題非常有用,此時(shí)可以?huà)?cǎi)取幾條路徑到達(dá)同一個(gè)點(diǎn)。Trace

58、rt 命令行選項(xiàng)Tracert 命令支援多種選項(xiàng),如下表所示。tracert -d -h maximum_hops -j host-list -w timeout target_name選項(xiàng)描述-d 指定不將IP 位址解析到主機(jī)名稱(chēng)。-h maximum_hops 指定躍點(diǎn)數(shù)以跟蹤到稱(chēng)為target_name 的主機(jī)的路由。-j host-list 指定Tracert 實(shí)用程式資料包所採(cǎi)用路徑中的路由器介面列表。-w timeout 等待timeout 為每次回復(fù)所指定的毫秒數(shù)。target_name 目標(biāo)主機(jī)的名稱(chēng)或IP 位址。1.15.5 IPConfigIPConfig實(shí)用程式和它的等價(jià)

59、圖形用戶(hù)介面Windows 95/98 中的WinIPCfg 可用於顯示當(dāng)前的TCP/IP 配置的設(shè)置值。這些資訊一般用來(lái)檢驗(yàn)人工配置的TCP/IP 設(shè)置是否正確。但是,如果你的電腦和所在的局域網(wǎng)使用了動(dòng)態(tài)主機(jī)配置協(xié)定(Dynamic HostConfiguration Protocol,DHCP-Windows NT 下的一種把較少的IP 位址分配給較多主機(jī)使用的協(xié)定,類(lèi)似於撥號(hào)上網(wǎng)的動(dòng)態(tài)IP 分配),這個(gè)程式所顯示的資訊也許更加實(shí)用。這時(shí),IPConfig 可以讓你瞭解你的電腦是否成功的租用到一個(gè)IP 位址,如果租用到則可以瞭解它目前分配到的是什麼位址。瞭解電腦當(dāng)前的IP 位址、子網(wǎng)路遮罩

60、和缺省閘道實(shí)際上是進(jìn)行測(cè)試和故障分析的必要專(zhuān)案。最常用的選項(xiàng):ipconfig-當(dāng)使用IPConfig 時(shí)不帶任何參數(shù)選項(xiàng),那麼它為每個(gè)已經(jīng)配置了的介面顯示IP 位址、子網(wǎng)路遮罩和缺省閘道值ipconfig /all-當(dāng)使用all 選項(xiàng)時(shí),IPConfig 能為DNS 和WINS 伺服器顯示它已配置且所要使用的附加資訊(如IP 位址等),並且顯示內(nèi)置於本地網(wǎng)卡中的物理位址(MAC)。如果IP 地址是從DHCP 伺服器租用的,IPConfig 將顯示DHCP 伺服器的IP 位址和租用地址預(yù)計(jì)失效的日期.ipconfig /release 和ipconfig /renew-這是兩個(gè)附加選項(xiàng),只能在

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論