Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

ASP.NET 支援語音欄

Log Parser 2.2 和 ASP.NET

為了根據您的需求自訂此欄,我們想要邀請您提交您對感興趣主題的想法,以及您希望在未來知識庫文章和支援語音欄中解決的問題。 您可以使用 [要求] 表單提交您的想法和意見反應。 此欄底部也有表單的連結。

歡迎使用 ASP.NET 支援語音欄。 我的名字是 Ahul Soni,我在 Microsoft 工作了大約兩年。 在本月的欄中,我會討論 Log Parser 2.2 的一些相關事實。 進入特定案例之前,讓我花一點時間描述 [記錄剖析] 工具。

關於

Log Parser 是功能強大且多功能的工具,可提供對文字型資料的通用查詢存取,例如記錄檔、XML 檔案和 CSV 檔案,以及 Microsoft Windows 作業系統上的重要資料來源,例如事件記錄檔、登錄、檔案系統和 Active Directory 目錄服務。 請
按一下這裡下載工具。 在這個版本中,您可以非常輕鬆地從 [記錄剖析器] 工具剖析下列檔案:

IISW3C、NCSA、IIS、IISODBC、BIN、IISMSID、HTTPERR、URLSCAN、CSV、TSV、W3C、XML、EVT、ETW、NETMON、REG、ADS、TEXTLINE、TEXTWORD、FS 和 COM。我同意命令列介面不是很直覺,而且您一安裝並執行工具,就會立即找到它。 但工具缺乏直覺的感覺,卻是被工具所提供的檔修補。 我要在這裡提供一些建議:不要讓命令列介面這麼快就關閉。 這項工具是極客工具組中必須具備的工具,對您很有説明,特別是當您想要從效能觀點進行疑難排解時。

我不打算討論「如何」使用 [記錄剖析器] 工具,因為檔相當好,而且安裝資料夾也包含一個包含相當少數樣本的 [範例\查詢] 資料夾。

因此,完成對記錄剖析器工具的推廣之後,讓我回到之前所說的案例。

案例 1:剖析特定文字的大型文字檔

問題的小型背景

您的客戶在執行某些動作時遇到「拒絕存取」問題。 您建議客戶使用另一個名為
Filemon的絕妙工具,並重現問題。 如果是資源 ACL 的問題,Filemon 工具就會發現錯誤。 現在,您要求客戶傳送已儲存的 Filemon 記錄檔給您。 以下是令人遺憾的部分。 您會收到檔案 (例如 Filemon.log) ,但發現檔案大小龐大 (Filemon 確實記錄大量資料!) 。 記事本看起來會停止回應,且在記錄檔中尋找「拒絕存取」行會很過慢。 Microsoft Office Excel 將拒絕完全開啟檔案。 現在怎麼辦?

答案:開啟 [記錄剖析器] 命令視窗,並使用下列命令:

LOGPARSER「Select Text from C:\Filemon.log where Text like '%Access Denied%'」 -i:TEXTLINE -q:Off We is telling the Log Parser tool is parser is parse through each line (Text) from the given file (C:\Filemon.log) where the line contains 'Access Denied'. -i:TEXTLINE 命令列參數會指定輸入格式,而 -q:Off 命令列參數則是詳細資訊 (-q[:ON|關閉]:安靜模式;) 。 如果您開啟 -q 命令列開關,下方輸出中顯示的統計資料和功能變數名稱 (文字) 將不會出現。

範例輸出

文字 7447 下午 1:49:24 explorer.exe:1200 目錄 C:\Access Denied StatisticsElements 已處理:640444
元素輸出:1
執行時間:12.75 秒

如果查詢傳回的記錄數大於 10,如何避免多次按 ENTER?

答案:在查詢中使用 -rtp:-1 參數!

如果您想要將輸出重新導向至檔案,這將會是必要的參數。 此外,當您寫入 STDOUT 時,輸出記錄會分批顯示,由等於此參數指定值的數列組成。 顯示一批資料列後,系統會提示使用者按下按鍵以顯示下一批列。 為此參數指定 「-1」 會完全停用批次!

使用查詢檔案

另一種以更清潔的方式達成相同結果的方法是建立查詢檔案。 如此一來,您可以輕鬆地調整查詢檔案,並從 [記錄剖析器] 工具的命令列執行查詢檔案。 除此之外,您也可以根據您的喜好輕鬆建立 GUI。 GUI 會載入已儲存的 SQL 查詢,並使用 [記錄剖析器] 工具執行查詢。

如果您想要達到與 SQL 查詢之案例 1) 相同的效果 (,您可以提供下列命令:

LOGPARSER -i:TEXTLINE file:C:\LPQ\SearchAnyTextfile.sql -q:offC:\LPQ\SearchAnyTextFile.sql 包含下列資訊:

注意 在 C:\ 中建立資料夾 LPQ資料夾,以使用此欄中顯示的範例。

Select Text as LineFromFile
FROM C:\Filemon.log 
WHERE Text 
LIKE '%Access Denied%'

如果您發現查詢現在看起來更乾淨,而且比較有意義。 如此一來,您也可以建立更複雜且較大的查詢,而且所有專案都會因您使用而符合您的命令列。SQL 檔案,而不是整個查詢。 還是無法在命令列上容納超過 260 個字元!

為了保持使用查詢檔案的優點,我會在下列案例中使用此方法。 我已將我所有的查詢儲存在 C:\LPQ 中並具有 .sql 擴充功能 (您可以使用自己的) 。

案例 2:從特定資料夾尋找 10 個最大的檔案,包括其子資料夾

問題的小型背景

您有一個資料夾,其中有相當多的子資料夾和檔案。 您想要找出該資料夾中前 10 大的檔案,包括其子資料夾。

我知道,對於特定資料夾,您可以直接變更 [檢視] 功能表上的檢視 (、單擊 [Windows 檔案總管] 中的 [詳細資料]) ,然後依大小排序檢視。 但這裡的問題在於,您也需要為子資料夾的內容負責。

答案:開啟 [記錄剖析器] 工具命令視窗,並使用下列命令:

LOGPARSER -i:FS 檔案:C:\LPQ\Top10Files.sql -q:off -Recurse:-1Top10Files.sql 包含下列專案:

SELECT TOP 10 
Path, 
Name, 
Size, 
Attributes 
FROM 'C:\Program Files\Microsoft Office\*.*' 
ORDER BY Size DESC

這裡 -i:FS 表示我們正在查詢檔案系統。 您可以在檔中檢視完整的 FS 輸入格式欄位清單,並據此為查詢設定框架。

-Recurse:-1 表示我們想要包含所有子資料夾。 如果您不想要所有的子資料夾或想要限制遞迴,請使用 0、1、2 等。數位表示剖析器會深入分析。 0 表示無遞迴,2 表示剖析器會在深度 2 之前重複發生,依此類推。

範例輸出

Path                                                         Name         Size     Attributes 
------------------------------------------------------------ ------------ -------- ----------
C:\Program Files\Microsoft Office\Office10\WINWORD.EXE       WINWORD.EXE  10738448 -A--R----
C:\Program Files\Microsoft Office\Office10\EXCEL.EXE         EXCEL.EXE    9358096  -A--R----
C:\Program Files\Microsoft Office\Office10\OUTLLIB.DLL       OUTLLIB.DLL  6326984  -A-------
C:\Program Files\Microsoft Office\Office10\POWERPNT.EXE      POWERPNT.EXE 6093584  -A--R----
C:\Program Files\Microsoft Office\Office10\MSOWC.DLL         MSOWC.DLL    3041880  -A-------
C:\Program Files\Microsoft Office\Office10\CLIPPIT.ACS       CLIPPIT.ACS  2904417  -A-------
C:\Program Files\Microsoft Office\Office10\GRAPH.EXE         GRAPH.EXE    2144824  -A-------
C:\Program Files\Microsoft Office\Office10\1033\OUTLLIBR.DLL OUTLLIBR.DLL 1977032  -A-------
C:\Program Files\Microsoft Office\Office10\1033\XLMAIN10.CHM XLMAIN10.CHM 1646072  -A-------
C:\Program Files\Microsoft Office\Office10\MSOWCW.DLL        MSOWCW.DLL   1200177  -A-------


StatisticsElements 已處理:1000
元素輸出:10
執行時間:0.42 秒

案例 3:在您的網站中尋找最慢的 20 個頁面

問題的小型背景

您使用的是 Microsoft Internet Information Services (IIS) 6、有幾個 ASP.NET 網站,而且對效能不滿意。 您想要調整伺服器,並瞭解最常從網頁伺服器送出服務所需的前 20 個頁面。 這並不會像您判斷最高時間記錄頁面一樣,加以修正,您的問題也已獲得解決。 很抱歉,沒有任何銀色專案符號可以解決效能問題。 至少應該要有一種方式可以開始。 正確?

答案:開啟 [記錄剖析器] 命令視窗,並使用下列命令:

LOGPARSER -i:IISW3C 檔案:C:\LPQ\Slowest20FilesInIIS.sql -o:DataGrid -q:offSlowest20FilesInIIS.sql 包含下列範例程式碼。

Select Top 20
LogRow as [Line Number],
date as [Date],
time as [Time],
c-ip as [Client-IP],
s-ip as [Server IP], 
s-port as [Server Port],
cs-method as [Request Verb],
cs-uri-stem as [Request URI],
sc-bytes as [Bytes sent],
sc-status as [Status],
sc-substatus as [Sub-status],
sc-win32-status as [Win 32 Status],
time-taken as [Time Taken]
From 
C:\ex060813.log
Order by time-taken desc

在這裡,-i:IISW3C 表示我們正在查詢 IIS W3C 記錄檔。 您可以在檔中檢視 IISW3C 輸入格式欄位的完整清單,並據此為查詢設定框架。

-o:DataGrid 表示輸出應該以下列方式顯示在資料格線中:



注意:若要使用此查詢,您應該使用 IISW3C 記錄,而且必須啟用進階記錄屬性。 (開啟您的網站屬性,按一下 [網站] 引標籤,按一下以選取 [ 啟用記錄],然後將 [使用中記錄] 格式設定為 W3C 延伸記錄檔格式。 按一下[內容],按一下 [
進階] 索引標籤,然後按一下以選取所有選項。)

案例 4:在您的網站中尋找 20 個最常用的 .aspx 頁面

問題的小型背景

您使用的是 IIS 6、有幾個 ASP.NET 網站,並且想要知道最常用的 .aspx 檔案,這樣一來,如果您調整這些頁面的效能,最終會獲得整個網站/伺服器的優點。 最好花一些時間來調整最常用的頁面,而不是花在謹慎使用的頁面上。 (雖然此規則可能有例外。 假設謹慎使用的頁面是一個非常錯誤的頁面,會造成該問題高 CPU 使用率!) 現在,如果您發現某個頁面需要很長的時間才能 (案例 3) ,而該頁面是最常使用的頁面之一,您應該一律確認該頁面在壓力之下運作正常。

答案:開啟 [記錄剖析器] 工具命令視窗,並使用下列命令:

LOGPARSER -i:IISW3C 檔案:C:\LPQ\Popular20FilesInIIS.sql -chartType:Bar3D -groupSize:640x480 -view:onPopular20FilesInIIS.sql 包含下列範例程式碼。

Select Top 20
cs-uri-stem as [Request URI],
COUNT(*) AS Hits 
INTO MyChart.gif 
FROM C:\ex060813.log
Group by cs-uri-stem ORDER BY Hits DESC

在此情況下,-chartType:Bar3D 會告訴 Log Parser 工具要準備哪種圖表。 -groupSize 參數會指定目標影像以圖元表示的寬度和高度。 一組可用的圖表類型取決於本機電腦上安裝的 Microsoft Office Web 元件版本。

輸出外觀如下:



如您所見,[記錄剖析器] 工具可能以多種方式在分析各種記錄檔中的資料時非常有説明。 這裡只有創意才是限制! 資料幾乎無限制地能為您反映更佳的圖片,而且您也可以採取動作。 我們所接觸到的只是冰山一角! 您也可以使用 Microsoft Visual C#、Microsoft Visual Basic .NET 等高階語言,使用 Log Parser 工具的功能來建立實用的程式。 請參閱下方的一節。

資源

我想要討論更多記錄剖析器工具的案例,而且我在我的部落格中為 [記錄剖析器] 工具建立了新的章節。 如果您有任何您要共用的案例或記錄剖析器工具查詢的建議,請在
rahulso@microsoft.com寄郵件給我,我最早會在下列網站張貼:

HTTPs://learn.microsoft.com/archive/blogs/rahulso/

一如往常,您可以使用 [要求] 表單,就您想要在未來的欄或知識庫中解決的主題提交想法。

本文討論的協力廠商產品是由與 Microsoft 無關的公司製造。 Microsoft 不以默示或其他方式提供任何關於這些產品的效能或可靠性保證。

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×