婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 網站運維工具使用iis日志分析工具分析iis日志(iis日志的配置)

網站運維工具使用iis日志分析工具分析iis日志(iis日志的配置)

熱門標簽:企業辦理400電話要多少錢 免費開源電話機器人 上海電銷外呼系統公司 怎么把高德地圖標注的地點刪除 夢翔智能電話機器人 日本電銷機器人 世博地圖標注 揭陽自建外呼系統 江西電銷機器人供應商

對于一個需要長期維護的網站來說,如何讓網站長久穩定運行是件很有意義的事情。有些在開發階段沒有暴露的問題很有可能就在運維階段出現了,這也是很正常的。還有些時候,我們希望不斷地優化網站,讓網站更快速的響應用戶請求,這些事情都發生在開發之后的運維階段。

與開發階段不同的,運維階段不可能讓你去調試程序,發現各類問題,我們只能通過各種系統日志來分析網站的運行狀況,對于部署在IIS上的網站來說,IIS日志提供了最有價值的信息,我們可以通過它來分析網站的響應情況,來判斷網站是否有性能問題,或者存在哪些需要改進的地方。

IIS日志包含了哪些信息

我前面說到【IIS日志提供了最有價值的信息】,這些信息有哪些呢?看看這個截圖吧:

這里面記錄了:
1. 請求發生在什么時刻,
2. 哪個客戶端IP訪問了服務端IP的哪個端口,
3. 客戶端工具是什么類型,什么版本,
4. 請求的URL以及查詢字符串參數是什么,
5. 請求的方式是GET還是POST,
6. 請求的處理結果是什么樣的:HTTP狀態碼,以及操作系統底層的狀態碼,
7. 請求過程中,客戶端上傳了多少數據,服務端發送了多少數據,
8. 請求總共占用服務器多長時間、等等。

這些信息在分析時有什么用途,我后面再說。先對它有個印象就可以了。

IIS日志的配置

默認情況下,IIS會產生日志文件,不過,還是有些參數值得我們關注。IIS的設置界面如下(本文以 IIS 8 的界面為例)。

在IIS管理器中,選擇某個網站,雙擊【日志】圖標,請參考下圖:

此時(主要部分)界面如下:

在截圖中,日志的創建方式是每天產生一個新文件,按日期來生成文件名(這是默認值)。
說明:IIS使用UTC時間,所以我勾選了最下面的復選框,告訴IIS用本地時間來生成文件名。

點擊【選擇字段】按鈕,將出現以下對話框:

注意:【發送的字段數】和【接收的字節數】默認是沒有選擇的。建議勾選它們。
至于其它字段,你可以根據需要來決定是否要勾選它們。

如何分析IIS日志

如果你按照我前面介紹的方法設置了IIS日志參數,那么IIS在處理請求后(的一段時間之后),會生成IIS日志。
我們可以在【日志界面】的右邊區域【操作】中點擊【查看日志文件】快速定位到IIS日志的根目錄,然后到目錄中尋找相應的日志文件(默認會根據應用程序池序號來區分目錄)。

比如:我找到了我需要的日志:

這個文件一大堆密密麻麻的字符,現在我該如何分析它呢?

有個叫 Log Parser 的工具就可以專門解析IIS日志,我們可以用它來查看日志中的信息。
比如我可以運行下面的命令行(說明:為了不影響頁面寬度我將命令文本換行了):


復制代碼
代碼如下:

"C:\Program Files\Log Parser 2.2\LogParser.exe" -i:IISW3C -o:DATAGRID
"SELECT c-ip,cs-method,s-port,cs-uri-stem,sc-status,sc-win32-status,
sc-bytes,cs-bytes,time-taken FROM u_ex130615.log"


現在就可以以表格形式來閱讀IIS日志了:



說明:我不推薦用這種方法來分析IIS日志,原因有二點:
1. 慢:當日志文件稍大一點的時候,用它來分析就比較浪費時間了(尤其是需要多次統計時)。
2. 不方便:它支持的查詢語法不夠豐富,沒有像SQL Server針對數據表查詢那樣全面。

推薦的IIS日志分析方法

雖然Log Parser支持將解析的IIS日志以表格形式供人閱讀,但是有時候我們需要再做一些細致分析時,可能會按不同的方式進行【多次】查詢,對于這種需求,如果每次查詢都直接運行Log Parser,你會浪費很多時間。幸運的是,Log Parser支持將解析結果以多種格式導出(以下為幫助文檔截圖):

在此,我建議選擇輸出格式為 SQL 。
注意:這里的SQL并不是指SQLSERVER,而是指所有提供ODBC訪問接口的數據庫。
我可以使用下面的命令將IIS日志導入到SQLSERVER中(說明:為了不影響頁面寬度我將命令文本換行了):


復制代碼
代碼如下:

"C:\Program Files\Log Parser 2.2\logparser.exe"
"SELECT * FROM 'D:\Temp\u_ex130615.log' to MyMVC_WebLog" -i:IISW3C -o:SQL
-oConnString:"Driver={SQL Server};server=localhost\sqlexpress;database=MyTestDb;Integrated Security=SSPI"
-createtable:ON


導入完成后,我們就可以用熟悉的SQLSERVER來做各種查詢和統計分析了,例如下面的查詢:


復制代碼
代碼如下:

SELECT cip,csmethod,sport,csuristem,scstatus,scwin32status,scbytes,csbytes,timetaken
FROM dbo.MyMVC_WebLog


如果如下:

注意:
1. IIS日志在將結果導出到SQLSERVER時,字段名中不符合標識符規范的字符將會刪除。
   例如:c-ip 會變成 cip, s-port 會變成 sport 。
2. IIS日志中記錄的時間是UTC時間,而且把日期和時間分開了,導出到SQLSERVER時,會生成二個字段:
   

date, time這二個字段看起來很不舒服,對吧?
我也很反感這個結果,下面來說說的二種解決方法:

1. 在SQLSERVER中增加一列,然后把UTC時間換成本地時區的時間,T-SQL腳本如下:


復制代碼
代碼如下:

alter table MyMVC_WebLog add RequestTime datetime
go
update MyMVC_WebLog set RequestTime=dateadd(hh,8,convert(varchar(10),date,120)
+ ' ' + convert(varchar(13),time,114))


2. 直接在導出IIS日志時,把時間轉換過來,此時要修改命令:


復制代碼
代碼如下:

"C:\Program Files\Log Parser 2.2\logparser.exe"
"SELECT TO_LOCALTIME(TO_TIMESTAMP(ADD(TO_STRING(date, 'yyyy-MM-dd '), TO_STRING(time, 'hh:mm:ss')),
'yyyy-MM-dd hh:mm:ss')) AS RequestTime, * FROM 'D:\Temp\u_ex130615.log' to MyMVC_WebLog2"
-i:IISW3C -o:SQL
-oConnString:"Driver={SQL Server};server=localhost\sqlexpress;database=MyTestDb;Integrated Security=SSPI"
-createtable:ON

再看這三列:


復制代碼
代碼如下:

select RequestTime, date, time from MyMVC_WebLog2


這樣處理后,你就可以直接把date, time這二列刪除了(你也可以在導出IIS日志時忽略它們,但要明確指出每個字段名)。

IIS日志中的UTC時間問題就說到這里,但愿每個人都懂了~~~~~~~~~~~

IIS日志中的異常記錄

IIS日志中記錄了每個請求的信息,包括正常的響應請求和有異常的請求。

這里所說的【異常】與 .net framework 中的異常沒有關系。
對于一個ASP.NET程序來說,如果拋出一個未捕獲異常,會記錄到IIS日志中(500),但我所說的異常不僅限于此。

本文所說的異常可分為四個部分:
1. (ASP.NET)程序拋出的未捕獲異常,導致服務器產生500的響應輸出。
2. 404之類的請求資源不存在錯誤。
3. 大于500的服務器錯誤,例如:502,503
4. 系統錯誤或網絡傳輸錯誤。

前三類異常可以用下面的查詢獲得:


復制代碼
代碼如下:

select scStatus, count(*) AS count, sum(timetaken * 1.0) /1000.0 AS sum_timetaken_second
from MyMVC_WebLog with(nolock)
group by scStatus
order by 3 desc



IIS日志中有一列:sc-win32-status ,它記錄了在處理請求過程中,發生的系統級別錯誤,例如網絡傳輸錯誤。
正常情況下,0 表示正常,出現非零值意味著出現了錯誤。我們可以這樣統計這類錯誤


復制代碼
代碼如下:

declare @recCount bigint;
select @recCount = count(*) from MyMVC_WebLog with(nolock)
select scWin32Status, count(*) AS count, (count(*) * 100.0 / @recCount) AS [percent]
from MyMVC_WebLog with(nolock)
where scWin32Status > 0
group by scWin32Status
order by 2 desc



下表列出了比較常見的與網絡相關的錯誤及解釋:

scWin32Status 含義
64 客戶端連接已關閉(或者斷開)
121 傳輸超時
1236 本地網絡中斷


所有狀態碼都可以通過下面的命令來獲取對應的解釋:

D:\Temp>net helpmsg 64指定的網絡名不再可用。


關于scwin32status與scStatus,我還想補充說明一下:它們沒有關聯。
比如請求這個地址:http://www.abc.com/test.aspx
有可能scStatus=200,但scwin32status=64,此時表示ASP.NET已成功處理請求,但是IIS在發送響應結果時,客戶端的連接斷開了。
另一種情況是:scStatus=500,但scwin32status=0,此時表示,在處理請求過程中發生了未捕獲異常,但異常結果成功發送給客戶端。

再談 scwin32status=64

記得以前看到 scStatus=200,scwin32status=64 這種情況時很不理解,于是搜索了互聯網,各種答案都有,有的甚至說與網絡爬蟲有關。為了驗證各種答案,我做了一個試驗。我寫一個ashx文件,用它來模擬長時間的網絡傳輸,代碼如下:


復制代碼
代碼如下:

public class Test_IIS_time_taken : IHttpHandler {

public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";/p> p> System.Threading.Thread.Sleep(1000 * 2);

context.Response.Write(string.Format("{0}, {1}\r\n", "Start", DateTime.Now));
context.Response.Flush();

System.Threading.Thread.Sleep(1000 * 2);/p> p> for( int i = 0; i 20; i++ ) {
context.Response.Write(string.Format("{0}, {1}\r\n", i, DateTime.Now));
context.Response.Flush();
System.Threading.Thread.Sleep(1000 * 1);
}/p> p> context.Response.Write("End");
}


段代碼很簡單,我不想做過多的解釋,只想說一句:我用Thread.Sleep與Response.Flush這二個方法來模擬一個長時間的持續發送過程。

我們可以在瀏覽器中看到這樣的輸出(顯示還沒有完全結束時我截圖了)

我把這個測試做了8次,只有2次是全部顯示完成了,其余6次我提前關閉了瀏覽器窗口。
然后,我們再來看IIS日志的內容:

根據IIS日志并結合我自己的操作可以發現:
1. 當我提前關閉瀏覽器窗口時,就會看到scStatus=200,scwin32status=64
2. 如果請求內容全部顯示完成,我就會看到scStatus=200,scwin32status=0
從這個試驗我們還可以發現:timeTaken 包含了網絡傳輸時間。


根據這個試驗的結果,你是否想過一個問題:
如果你的網站的IIS日志中出現了大量的scStatus=200,scwin32status=64,而且請求是由用戶的瀏覽器發起的。
這是什么原因造成的呢?
我的【猜想】是:用戶在訪問這個網站時已經不愿意再等待了,他們把瀏覽器窗口關掉了。
換句話說:可以從scwin32status=64的統計結果看出網站的響應速度是否能讓用戶滿意。

尋找性能問題

IIS日志中有一列叫:timeTaken,在IIS的界面中顯示了它的含義:所有時間。
這個所用時間的定義是:從服務端收到請求的第一個字節開始起,直到把所有響應內容發送出去為止的時間。
微軟的網站有對這個字段做過說明:http://support.microsoft.com/kb/944884

知道了timeTaken的定義后,我們就可以利用它來分析一些請求的處理時間,即性能分析。

例如,我想查看最慢的20個頁面的加載情況,可以這樣查詢:

select top 20 csuristem,scstatus,scwin32status,scbytes,csbytes,timetakenfrom dbo.MyMVC_WebLog with(nolock)where csUriStem like '/Pages/%'order by timeTaken desc

再或者我想再看看最慢的20個AJAX情況的響應情況,可以這樣查詢:


復制代碼
代碼如下:

select top 20 csuristem,scstatus,scwin32status,scbytes,csbytes,timetaken
from dbo.MyMVC_WebLog with(nolock)
where csUriStem like '/Pages/%'
order by timeTaken desc

再或者我想再看看最慢的20個AJAX情況的響應情況,可以這樣查詢:


復制代碼
代碼如下:

select top 20 csuristem,scstatus,scwin32status,scbytes,csbytes,timetaken
from dbo.MyMVC_WebLog with(nolock)
where csUriStem like '/ajax/%'
order by timeTaken desc


總之,尋找性能問題的方法就是:在查詢選擇timeTaken字段,并且用它做降序排序。

注意:scbytes,csbytes 這二個字段也是值得我們關注的:
1. csbytes如果過大,我們就要分析一下到底是不是因為表單包含了過多的無用數據,可否將表單拆分。
   csbytes變大還有一種可能:Cookie太大,但它會表現為很多請求的csbytes都偏大,因此容易區分。
2. scbytes如果過大,我們就要檢查頁面是否沒有分頁,或者可以考慮用按需加載的方式來實現。
典型的情況是:當大量使用ViewState時,這二個值都會變大。因此我們能通過IIS日志發現ViewState的濫用問題。
還有一種特殊情況是:上傳下載文件也會導致這二個數值變大,原因我就不解釋了。

scbytes,csbytes,不管是哪個數值很大,都會占用網絡傳輸時間,對于用戶來說,就需要更長的等待時間。

一下子說了三個字段,在尋找性能問題時,到底該參考哪個呢?
我認為:應該優先關注timeTaken,因為它的數值直接反映了用戶的等待時間(不包括前端渲染時間)。
如果timeTaken過大時,有必要檢查scbytes,csbytes是否也過大,
如果后二者也過大,那么優化的方向就是減少數據傳輸量,否則表示是程序處理占用了大量的時間,應該考慮優化程序代碼。

尋找可改進的目標

除了可以從IIS日志中發現性能問題,還可以用它來尋找可改進的目標。
例如:
1. 有沒有404錯誤?
2. 是否存在大量的304請求?
3. 是否存在大量重復請求?


當發現有404響應時,我們應該分析產生404的原因:
1. 是用戶輸入錯誤的URL地址嗎?
2. 還是開發人員引用不存在的資源文件?
如果是后者,就應該盡快移除無效的引用,因為404響應也是一個頁面響應,而且它們也會占用網絡傳輸時間,尤其是這類請求不能緩存,它會一直出現,浪費網絡資源。

標簽:珠海 臨沂 榆林 柳州 株洲 興安盟 吐魯番 拉薩

巨人網絡通訊聲明:本文標題《網站運維工具使用iis日志分析工具分析iis日志(iis日志的配置)》,本文關鍵詞  網站,運維,工具,使用,iis,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《網站運維工具使用iis日志分析工具分析iis日志(iis日志的配置)》相關的同類信息!
  • 本頁收集關于網站運維工具使用iis日志分析工具分析iis日志(iis日志的配置)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩欧美亚洲国产另类| 国产精品亚洲一区二区三区妖精 | 中文字幕一区二区三区精华液| 欧美成人三级在线| 日本最新不卡在线| 91精品国产综合久久福利| 成人污污视频在线观看| 精品少妇一区二区三区免费观看 | 日本乱人伦aⅴ精品| 国产激情视频一区二区在线观看| 国产精品久久久久9999吃药| 亚洲人成网站精品片在线观看| 成人avav影音| 国内精品第一页| 日韩精品色哟哟| 亚洲人午夜精品天堂一二香蕉| 日韩美女主播在线视频一区二区三区| 成人国产精品免费观看| 91在线视频18| 国产精品一区二区在线看| 国产精品欧美综合在线| 夜色激情一区二区| 国内一区二区视频| 欧美日韩在线播放三区| 国产精品素人视频| 日韩av一级电影| 成人高清视频在线观看| 蜜臀久久99精品久久久久久9 | 欧美精品v日韩精品v韩国精品v| 91在线精品一区二区| 99久久精品情趣| 欧美一区二区三区免费在线看 | 一区二区三区日韩精品视频| 亚洲免费观看高清完整版在线观看熊 | 欧美日韩一区二区在线观看| 日韩制服丝袜先锋影音| 久久精品水蜜桃av综合天堂| 性做久久久久久免费观看欧美| 天天操天天色综合| 91视频国产资源| 免费在线观看不卡| 国产日韩欧美在线一区| 欧美乱妇15p| 99精品久久免费看蜜臀剧情介绍| 亚洲第一成年网| 国产三级三级三级精品8ⅰ区| 欧美日韩精品免费| 亚洲一区二区视频| 欧美国产1区2区| 精品日韩在线一区| 欧美电影影音先锋| 97精品电影院| 国产精品88av| 亚洲综合男人的天堂| 欧美午夜片在线看| 91同城在线观看| 国产福利91精品一区二区三区| 喷水一区二区三区| 三级久久三级久久| 亚洲夂夂婷婷色拍ww47| 日韩美女视频一区| 国产精品久久久久天堂| 国产日韩欧美不卡| 国产午夜亚洲精品不卡| 欧美www视频| 日韩一区二区精品| 91精品视频网| 欧美日韩dvd在线观看| 99视频一区二区| www.日韩av| 91在线观看地址| 亚洲乱码国产乱码精品精98午夜 | 国产精品88888| 天天色天天操综合| 五月激情丁香一区二区三区| 亚洲欧美日韩久久| 欧美久久久影院| 精品国产乱码久久久久久牛牛| 欧美精品一区二区三区视频| 国产日韩精品一区| 亚洲欧美另类小说| 亚洲综合丝袜美腿| 免费一区二区视频| 国产成人av一区二区三区在线观看| 国产老妇另类xxxxx| 成人午夜在线播放| 色综合av在线| 欧美精品少妇一区二区三区| 国产在线精品一区二区三区不卡| 麻豆91免费观看| 国产高清不卡一区| 99精品热视频| 欧美色国产精品| 欧美电影一区二区| 日韩精品一区二区三区视频| 精品久久久久久久久久久久包黑料 | 欧美日韩国产综合一区二区三区| 97精品久久久久中文字幕| 成人午夜视频免费看| 日本精品免费观看高清观看| 欧美日韩国产免费一区二区| 欧美在线观看视频在线| 欧美日韩一区二区三区免费看| 欧美性一区二区| 欧美色图在线观看| 久久精品亚洲麻豆av一区二区| 国产精品全国免费观看高清 | 日本免费在线视频不卡一不卡二| 美国三级日本三级久久99| 成人h精品动漫一区二区三区| 日本精品免费观看高清观看| 欧美xingq一区二区| 国产精品理伦片| 免费成人你懂的| 97精品超碰一区二区三区| 欧美精品一区二| 亚洲成人黄色小说| av在线这里只有精品| 久久综合九色综合欧美亚洲| 日韩精品三区四区| 欧美吻胸吃奶大尺度电影| 国产精品免费人成网站| 国产精品一线二线三线| 日韩欧美电影一区| 亚洲影视在线观看| 91小视频免费观看| 国产三区在线成人av| 国产一区二区不卡老阿姨| 欧美日本不卡视频| 亚洲与欧洲av电影| 95精品视频在线| ...av二区三区久久精品| 国产在线不卡一区| wwwwww.欧美系列| 久久99久久99精品免视看婷婷| 欧美日韩亚州综合| 亚洲福利一区二区| 欧美影片第一页| 亚洲激情男女视频| 色中色一区二区| 亚洲国产毛片aaaaa无费看| 在线观看欧美日本| 亚洲一区二区中文在线| 欧美午夜在线观看| 日韩激情av在线| 日韩一级片在线播放| 欧洲中文字幕精品| 欧美激情一区二区三区不卡| 成人动漫av在线| 亚洲视频你懂的| 色噜噜狠狠色综合中国| 亚洲午夜在线电影| 日韩午夜小视频| 国产精品白丝jk白祙喷水网站| 国产欧美在线观看一区| 国产91丝袜在线观看| 亚洲人精品午夜| 欧美精品第1页| 久久精品国产第一区二区三区| 精品国产一区二区三区久久久蜜月| 麻豆国产欧美一区二区三区| 日韩欧美你懂的| 精品亚洲免费视频| 国产日韩欧美综合在线| 色8久久精品久久久久久蜜 | 日韩欧美国产1| 美国毛片一区二区三区| 精品美女一区二区| 色综合网站在线| 日本亚洲欧美天堂免费| 日韩一区二区三区视频| 丁香五精品蜜臀久久久久99网站| 中文在线资源观看网站视频免费不卡| jlzzjlzz亚洲日本少妇| 一区二区日韩av| 欧美日本高清视频在线观看| 成人免费av资源| 天堂影院一区二区| 国产精品久久久久久久岛一牛影视 | 国产麻豆日韩欧美久久| 精品1区2区3区| 福利一区福利二区| 欧美一区二区黄| 99精品欧美一区二区三区小说| 日韩激情一二三区| 欧美精品一区二区久久婷婷| 国产寡妇亲子伦一区二区| 一区二区三区av电影| 欧美精品久久一区| 国产精品传媒视频| 丁香亚洲综合激情啪啪综合| 国产精品福利一区| 91精品一区二区三区在线观看| 婷婷夜色潮精品综合在线| 久久精品网站免费观看| 欧美精品tushy高清| 波多野结衣精品在线| 寂寞少妇一区二区三区| 午夜视频在线观看一区二区 | 国产欧美精品一区二区三区四区 |