分類
Windows

iis7下的appcmd查詢reqeust

在沒有 appcmd 之前, 要像 apache 中的 server-status 中列出目前的 request url 只能利用 resource kit 的 request viewer, 不過在 iis7 中, 可以利用內建指令 appcmd 來查詢.

appcmd 有許多功能, 不過今天介紹的是查詢目前的 request, 先來看看說明文件:

http://technet.microsoft.com/zh-tw/library/cc772200%28v=ws.10%29.aspx

在 appcmd下, 有許多物件可供應用, 其中今天要介紹的就是 request, 不過可以操作的指令只有一個, 就是 list, 想查詢對該物件可用指令可以這樣下(以 site 為例):

>appcmd site /?
管理虛擬站台

APPCMD (command) SITE <identifier> <-parameter1:value1 …>

支援的命令:

list 列出虛擬站台
set 設定虛擬站台
add 新增虛擬站台
delete 刪除虛擬站台
start 啟動虛擬站台
stop 停止虛擬站台

(請使用 /? 取得每個命令的說明,例如 ‘appcmd.exe add site /?’。)

可以使用 list, set … 等多種操作指令, 而查詢目前的 request 則使用:

>appcmd list request
REQUEST “1400000080019834” (url:GET /xxx/xxxxx, time:1047344 msec, client:xxx.xxx.xxx.xxx, stage:SendResponse, module:IIS Web Core)
REQUEST “e20000438002e1fc” (url:GET /xxx/xxxxxx, time:71625 msec, client:xxx.xxx.xxx.xxx, stage:SendResponse, module:IIS Web Core)
….

可以很清楚地看到每個 request 的資訊, 包含 ip 及 url 及目前的狀態, 十分有用.