中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁(yè) > 技術(shù)文檔 > 網(wǎng)絡(luò)編程 > 深入研究高性能的 CFMX 應(yīng)用 II
DM MX 2004 用戶登陸服務(wù)器行為 回到列表 ASP.NET中的datagrid控件初步
 深入研究高性能的 CFMX 應(yīng)用 II

作者:Mjking 時(shí)間: 2003-12-04 文檔類型:原創(chuàng) 來(lái)自:藍(lán)色理想

版權(quán)歸屬www.7yue.com
獨(dú)家授權(quán)www.95time.cn轉(zhuǎn)載

監(jiān)測(cè)應(yīng)用性能

“我怎么才能知道我的站點(diǎn)的運(yùn)行狀態(tài)?都說(shuō)性能很重要,怎么操作才能滿足性能呢?”---7yue.com

  站長(zhǎng)最喜歡的臺(tái)詞就是黑客帝國(guó)中的“Welcome to the real world!”,一句話的背后,包含的數(shù)不清的含義。有興奮,有驚奇,有恐懼,有竊喜。ColdFusionMX的應(yīng)用在經(jīng)過(guò)長(zhǎng)時(shí)間的開(kāi)發(fā)后,總是要部署公開(kāi)的。讓眾多的最終用戶使用自己的ColdFusion應(yīng)用,才是最終的目的。ColdFusionMX應(yīng)用在開(kāi)發(fā)階段經(jīng)歷了數(shù)不清的調(diào)試和測(cè)試,終于發(fā)布了。但是真正艱巨的工作才剛剛開(kāi)始。為什么這么說(shuō)?ColdFusion應(yīng)用一旦運(yùn)行起來(lái),你就不能隨意的撤掉已經(jīng)具備的邏輯,你只能做版本的更新。

  “寧可報(bào)錯(cuò),也別讓?xiě)?yīng)用沒(méi)有響應(yīng)!边@是我做ColdFusion應(yīng)用的心得。知道錯(cuò)誤,你可以很快的做出反映,修正并且更新。但是程序一旦出現(xiàn)沒(méi)有任何響應(yīng)的狀況,你就需要花費(fèi)非常多的心血來(lái)重頭檢查應(yīng)用的性能和邏輯。

  監(jiān)測(cè)一個(gè)ColdFusion應(yīng)用并不是手到擒來(lái)的容易事。首先我們要了解一些能夠影響ColdFusion應(yīng)用的因素。這些因素來(lái)自于多方面,但是每一點(diǎn)都很重要。

  硬件是一個(gè)從根本上能夠影響ColdFusionMX應(yīng)用性能的因素。普通的硬盤(pán)和SCSI的支持RAID5方式的硬盤(pán)肯定在讀取和存儲(chǔ)數(shù)據(jù)的速度上有著根本的區(qū)別。防火墻也是一個(gè)因素,想想看,如果防火墻屏蔽掉了一個(gè)來(lái)自外部的經(jīng)過(guò)1935端口的請(qǐng)求,那么你的FlashCom應(yīng)用是無(wú)法跟外部互相傳遞視頻和音頻的。ColdFusion也一樣。此外,使用10Base-T和100Base-T的以太網(wǎng)卡對(duì)于大型ColdFusion應(yīng)用的數(shù)據(jù)吞吐性能上也有所不同。但是這里站長(zhǎng)一筆帶過(guò),因?yàn)樗麄兪怯薪y(tǒng)一的解決方案。有預(yù)算,有性能。就這樣。

  來(lái)自于外部的任何一個(gè)請(qǐng)求都會(huì)占用系統(tǒng)資源。很多人錯(cuò)誤的想法是,ColdFusion的應(yīng)用只有用戶在請(qǐng)求Cfm頁(yè)面,進(jìn)行動(dòng)態(tài)數(shù)據(jù)查詢或者其他動(dòng)態(tài)交互操作時(shí)才會(huì)消耗系統(tǒng)資源。這個(gè)觀點(diǎn)是錯(cuò)誤的。要知道,一個(gè)簡(jiǎn)單的下載瀏覽一幅Gif圖形的http請(qǐng)求,都會(huì)消耗系統(tǒng)的資源。雖說(shuō)這不重要,但是積少成多,這就是我們?yōu)槭裁床蛔龃笕萘,多圖,多動(dòng)畫(huà)的首頁(yè)和做圖片下載站點(diǎn)的原因。對(duì)于ColdFusionMX而言,性能上已經(jīng)對(duì)于前一個(gè)版本有了很大程度上的飛躍。ColdFusion5以前的版本是C++核心,每次外部對(duì)于動(dòng)態(tài)cfm模板的請(qǐng)求,服務(wù)器端都要使用Run Time(時(shí)間運(yùn)行庫(kù)方式,即有請(qǐng)求就編譯的方式) 的方式進(jìn)行頁(yè)面處理,這樣,一個(gè)ColdFusion應(yīng)用的服務(wù)器,如果有1萬(wàn)個(gè)這樣的相同請(qǐng)求,ColdFusion5就要在服務(wù)器端通過(guò)Dll的RunTime方式編譯1萬(wàn)次。而ColdFusionMX已經(jīng)改成了Java Base結(jié)構(gòu),第一次的請(qǐng)求,服務(wù)器會(huì)把代碼編譯成類似于.class的文件存放于服務(wù)器端,以后一段時(shí)間內(nèi)相同的請(qǐng)求,服務(wù)器都會(huì)運(yùn)行這個(gè)編譯好的文件,而不是重新編譯動(dòng)態(tài)模板。雖說(shuō)這種方式還存在很多問(wèn)題,但是對(duì)于性能上而言,ColdFusionMX又向前邁出了堅(jiān)實(shí)的一步。

  Ibm Websphere、Bea WebLogic、Sun One、ColdFusionMX都是基于J2ee的中間件服務(wù)器。所謂中間件,國(guó)外名字叫做Middleware。也就是架構(gòu)于Web Server之上專門處理動(dòng)態(tài)請(qǐng)求的專有系統(tǒng)。以往Web Server是iis和apache,最擅長(zhǎng)干的就是執(zhí)行外部的http請(qǐng)求返回html靜態(tài)頁(yè)面。現(xiàn)在有了中間件服務(wù)器(middleware application server) ,我們面臨更多的內(nèi)部操作,比如在ColdFusionMX應(yīng)用中,我們可能用到數(shù)據(jù)庫(kù)查詢,可能用到第三方的擴(kuò)展標(biāo)簽,外部導(dǎo)入的COM和CFX,與外部的Corba應(yīng)用接口,與Flash和Webservice的集成等等,所以ColdFusionMX應(yīng)用的性能更是一個(gè)重中之重的課題需要研究。

  監(jiān)測(cè)ColdFusionMX應(yīng)用系統(tǒng)的性能應(yīng)該從兩個(gè)方面出發(fā),一個(gè)是對(duì)于歷史系統(tǒng)日志的分析,另外一個(gè)就是實(shí)時(shí)的監(jiān)控。首先,我們先來(lái)研究一下ColdFusionMX系統(tǒng)中對(duì)于歷史日志的分析。在ColdFusionMX中,從管理端查看Log日志是了解和監(jiān)測(cè)系統(tǒng)性能和運(yùn)行狀況的一個(gè)重要手段。在ColdFusion Server里,有下表(表1)的一些Log文件可以時(shí)刻反映出ColdFusion應(yīng)用的運(yùn)行狀況。

表1.ColdFusionMX服務(wù)器主要日志文件及作用(參考Macromedia Advanced Engineer Trainning文獻(xiàn))

Application.log 記錄ColdFusion服務(wù)器的每一個(gè)錯(cuò)誤
Exception.log 記錄服務(wù)器端擲出錯(cuò)誤的每一個(gè)操作
Server.log 記錄服務(wù)器端的主要錯(cuò)誤,從啟動(dòng)以來(lái)
Scheduler.log 記錄日程的事件。記錄每一個(gè)事件的初始化和成功結(jié)果。前提條件是啟動(dòng)服務(wù)器端管理中的Scheduled Tasks。
Customtag.log 記錄Custom Tag自定義標(biāo)簽的錯(cuò)誤。如果你有自定義標(biāo)簽使用在你服務(wù)器中的話。
Car.log 站點(diǎn)存檔和恢復(fù)的記錄
Mail.log 記錄由CFMail等功能發(fā)送和接收郵件所生成的錯(cuò)誤信息
Mailsent.log 記錄發(fā)送郵件的信息。
Jrun.log 全部存儲(chǔ)在C:\CFusionMX\runtime\lib\wsconfig\1下,記錄和其他WebServer連接時(shí)的錯(cuò)誤信息,比如apache和iis。如果是Standalone模式則不會(huì)有記錄。

  通常我們可以通過(guò)以下方式找到這些日志。啟動(dòng)ColdFusion Administrator,選擇Debugging & Logging中的Log Files選項(xiàng),可以看到下圖:

ColdFusion MX Log文件圖形

  我們?cè)诜治鯨og日志的過(guò)程中,應(yīng)該學(xué)會(huì)從application.log中找到有用的信息。全都看,非累死不行。在application.log中,第一個(gè)要分析的消息就是“Request timed out”。這條信息就意味著ColdFusionMX對(duì)于這個(gè)信息的原始請(qǐng)求給予了超出正常時(shí)間長(zhǎng)度的處理。

  另外一個(gè)錯(cuò)誤是Deadlock,日志里會(huì)顯示“Deadlock Victim”,就是傳說(shuō)中的死鎖。哦,不是傳說(shuō)中,而是實(shí)際中。這個(gè)死鎖意味著你的某些ColdFusion程序的邏輯具有能夠讓服務(wù)器消耗大量資源而無(wú)法正常運(yùn)行的缺陷。發(fā)現(xiàn)這些問(wèn)題后,還是趕快找到對(duì)應(yīng)頁(yè)面,查詢一下原因吧。極有可能一條不經(jīng)意Select語(yǔ)句就能搞成這樣子。

  通過(guò)在ColdFusionMX Administrator中可以手動(dòng)設(shè)定日志記錄對(duì)于頁(yè)面處理時(shí)間的限制。進(jìn)入CFMX的管理界面,選擇Debugging & Logging部分的Logging Settings,進(jìn)入日志設(shè)定部分,我們可以參考下圖來(lái)修改系統(tǒng)記錄頁(yè)面處理時(shí)間的長(zhǎng)度。如下圖,如果頁(yè)面的處理時(shí)間超過(guò)30秒,系統(tǒng)就會(huì)記錄下來(lái),并存儲(chǔ)在server.log文件中。

  除了上面的觀察日志外,我們還可以使用WebTrends來(lái)進(jìn)行系統(tǒng)運(yùn)行狀態(tài)的檢測(cè)。使用WebTrends的評(píng)估版本,大家可以去www.netiq.com下載。這部分的操作,我就不再贅述。

  通過(guò)日志我們看到的是一個(gè)系統(tǒng)的歷史記錄,另外,監(jiān)控ColdFusion的系統(tǒng)性能,還有一個(gè)重要的操作,就是使用Server Probe(服務(wù)器監(jiān)測(cè)器) 。Server Probe已經(jīng)在ColdFusion5的時(shí)候就被Macromedia引入CF的管理部分,這個(gè)部分被Macromedia保留到了ColdFusionMX中,尤其是實(shí)時(shí)的Web服務(wù)器監(jiān)測(cè)功能。 接下來(lái)的部分就是我們?nèi)绾卧O(shè)定一個(gè)實(shí)時(shí)監(jiān)測(cè)的Server Probe。

  設(shè)定一個(gè)Server Probe,可以讓該P(yáng)robe在一定的時(shí)間間隔內(nèi)訪問(wèn)你被設(shè)定為監(jiān)控的對(duì)象(CFM頁(yè)面、CFC程序),如果Request被接收,并且正確的從被監(jiān)控對(duì)象返回正確的內(nèi)容,Probe就把這一次的讀取狀態(tài)結(jié)果標(biāo)識(shí)為Success。反之,如果出現(xiàn)404,500之類的錯(cuò)誤,Probe就會(huì)把狀態(tài)結(jié)果標(biāo)識(shí)為failed。同時(shí),Probe還具備向CF的管理員發(fā)送郵件通知和錯(cuò)誤原因的郵件,讓管理員快速的了解到問(wèn)題出現(xiàn)了。是不是很酷?嗯,至少我覺(jué)得是這樣的。下圖是我的ColdFusion administrator中沒(méi)有設(shè)定任何Probe時(shí)的初始狀態(tài),我在原有的狀態(tài)上做了一些修改。如圖:

我們可以試著創(chuàng)建一個(gè)簡(jiǎn)單的Probe。咱們就拿7yue的首頁(yè)面下手吧。點(diǎn)擊上圖中“Define New Probe”,進(jìn)入設(shè)定新的Probe界面,如下圖:

上圖中的Frequency參數(shù)我們?cè)O(shè)定了每天每隔1小時(shí)1分鐘10秒,服務(wù)器的Probe進(jìn)行一次對(duì)7yue首頁(yè)的cfm頁(yè)面的偵測(cè),這個(gè)時(shí)間我們可以隨意設(shè)定,但是如果我們啟用了ColdFusion管理中Server Setting中的Timeout Requests after (seconds)時(shí)間,我們必須在這里使用同樣的值。User Name和Password則是如果請(qǐng)求的頁(yè)面有驗(yàn)證保護(hù),則把驗(yàn)證信息輸入到這里。Probe Failure是必須要選中的,因?yàn)槲覀?yue的首頁(yè)中內(nèi)容有“資源” 兩個(gè)中文字,所以,通過(guò)Request請(qǐng)求回的http頁(yè)面中應(yīng)該包含“資源”二字,這才說(shuō)明7yue的首頁(yè)是正常顯示的。Failure Actions則是選擇發(fā)信通知還是執(zhí)行一個(gè)應(yīng)用程序,你可以執(zhí)行mp3播放器,呵呵。網(wǎng)站一訪問(wèn)不了,就讓歌曲通知你吧。最后,我們還可以選擇一個(gè)系統(tǒng)存在的路徑來(lái)存放一個(gè)針對(duì)此Probe生成的log文件,至于log叫什么名字,隨意。我起了個(gè)probes.log的文件用來(lái)存儲(chǔ)信息。設(shè)定完后的狀態(tài)如下圖:

設(shè)定完了以后,我們注意到Probe的狀態(tài)是Unknown,那么我們來(lái)運(yùn)行一下。看看結(jié)果如何,點(diǎn)擊Actions欄目中的綠色運(yùn)行圖標(biāo)(唉~~我的教程太細(xì)致了,自己都覺(jué)的羅嗦),之后,Probe就會(huì)顯示OK的狀態(tài),如下圖:

站點(diǎn)訪問(wèn)量很大,所以首頁(yè)面的響應(yīng)時(shí)間經(jīng)常在100ms-150ms左右。同時(shí),我們還能打開(kāi)log files進(jìn)行probes.log的信息查看,如下圖:

  通過(guò)上面的操作,我們可以很輕松的實(shí)現(xiàn)對(duì)于ColdFusionMX的應(yīng)用的性能監(jiān)測(cè)。下面,我們還要經(jīng)常使用一個(gè)性能監(jiān)測(cè)的命令。在使用這個(gè)命令之前,我們先要打開(kāi)ColdFusionMX的管理,進(jìn)入“Debugging Settings”,勾選下圖的兩個(gè)選項(xiàng)即可。

  選擇以上2個(gè)選項(xiàng)后,我們找到CFusionMX/bin目錄下的cfstat.bat文件。我們?cè)诿钚械姆绞较逻\(yùn)行這個(gè)命令(運(yùn)行cfstat.bat -h彈出幫助),彈出的結(jié)果是:

下表是上述參數(shù)的解釋說(shuō)明:

參數(shù) 說(shuō)明
PG/Sec 每秒鐘ColdFusion服務(wù)器處理多少個(gè).cfm頁(yè)面。
DB/Sec 每秒鐘ColdFusion服務(wù)器處理多少個(gè)數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求。
CP/Sec 這個(gè)權(quán)當(dāng)一看,因?yàn)檫@個(gè)參數(shù)已經(jīng)在ColdFusionMX里不再起作用了。衡量ColdFusion緩存模板的響應(yīng)數(shù)量。
Req Q'ed 每秒鐘ColdFusion服務(wù)器請(qǐng)求隊(duì)列中的請(qǐng)求數(shù)。
Req Run'g 當(dāng)前ColdFusion服務(wù)器每秒處理active狀態(tài)的請(qǐng)求數(shù)。
Req TO'ed 超時(shí)請(qǐng)求的總數(shù)
AvgQ Time 一個(gè)建議性的參數(shù),大概估計(jì)出隊(duì)列中的請(qǐng)求還需要多長(zhǎng)時(shí)間的等待。
AvgReq Time 平均每個(gè)請(qǐng)求的響應(yīng)時(shí)間。
AvgDB Time 平均每個(gè)數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求的處理時(shí)間。
Bytes In/Sec 每秒ColdFusion服務(wù)器接收字符數(shù)。
Bytes Out/Sec 每秒ColdFusion服務(wù)器發(fā)送字符數(shù)。

通過(guò)對(duì)實(shí)時(shí)運(yùn)行的產(chǎn)品服務(wù)器進(jìn)行cfstat的監(jiān)控,可以得到有效的性能監(jiān)測(cè)結(jié)果,然后,我們可以根據(jù)結(jié)果中的數(shù)據(jù)來(lái)分析服務(wù)器性能。

最后,在cfstat.bat文件的同一路徑下,有一個(gè)功能更強(qiáng)大的可視化監(jiān)測(cè)文件,名稱為“ColdFusionMXServer.pmc”,雙擊即可打開(kāi)。打開(kāi)后,可以進(jìn)行實(shí)時(shí)的性能監(jiān)控。如下圖:

好了,關(guān)于ColdFusionMX的性能控制,我們就講這么多。不過(guò),還有很多高級(jí)的性能監(jiān)測(cè)手段可以通過(guò)組合多種第三方的工具來(lái)實(shí)現(xiàn),這個(gè)就留給各位去發(fā)現(xiàn)了。

下一期我們將講解如何調(diào)整我們的ColdFusionMX和如何開(kāi)發(fā)這樣的程序。

出處:藍(lán)色理想
責(zé)任編輯:藍(lán)色

◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論

相關(guān)文章 更多相關(guān)鏈接
深入研究高性能的 CFMX 應(yīng)用 I
WSDL之偷天換日
CFMX For F2K4 WebService
Macromedia ColdFusionMX 教程
FWMX系列:數(shù)據(jù)驅(qū)動(dòng)圖形向?qū)?/a>
作者文章 更多作者文章
Flash的Debug程序AdminTool
ColdFusionMX技術(shù)課程第三期
ColdFusionMX技術(shù)課程第二期
ColdFusionMX技術(shù)課程第一期
JRun+dw2k4 快速上手jsp開(kāi)發(fā)
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計(jì)比賽 網(wǎng)頁(yè)制作 web標(biāo)準(zhǔn) 用戶體驗(yàn) UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點(diǎn)最新 站點(diǎn)最新列表
周大!熬•自然”設(shè)計(jì)大賽開(kāi)啟
國(guó)際體驗(yàn)設(shè)計(jì)大會(huì)7月將在京舉行
中國(guó)國(guó)防科技信息中心標(biāo)志征集
云計(jì)算如何讓安全問(wèn)題可控
云計(jì)算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機(jī)會(huì)
阿里行云
云手機(jī)年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅(jiān)的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機(jī)主題設(shè)計(jì)大賽
欄目最新 欄目最新列表
淺談JavaScript編程語(yǔ)言的編碼規(guī)范
如何在illustrator中繪制臺(tái)歷
Ps簡(jiǎn)單繪制一個(gè)可愛(ài)的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡(jiǎn)單的作品展示頁(yè)面
CSS定位機(jī)制之一:普通流
25個(gè)最佳最閃亮的Eclipse開(kāi)發(fā)項(xiàng)目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨(dú)家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點(diǎn)的原創(chuàng)文章,但原作者和來(lái)自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來(lái)自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請(qǐng)不要盜鏈到本站,且不準(zhǔn)打上各自站點(diǎn)的水印,亦不能抹去我站點(diǎn)水印。

特別注意:本站所提供的攝影照片,插畫(huà),設(shè)計(jì)作品,如需使用,請(qǐng)與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請(qǐng)與我們聯(lián)系,我們將立即刪除修改。

您的評(píng)論
用戶名:  口令:
說(shuō)明:輸入正確的用戶名和密碼才能參與評(píng)論。如果您不是本站會(huì)員,你可以注冊(cè) 為本站會(huì)員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯(cuò)誤,請(qǐng)用報(bào)告錯(cuò)誤,以利文檔及時(shí)修改。
不評(píng)分 1 2 3 4 5
注意:請(qǐng)不要在評(píng)論中含與內(nèi)容無(wú)關(guān)的廣告鏈接,違者封ID
請(qǐng)您注意:
·不良評(píng)論請(qǐng)用報(bào)告管理員,以利管理員及時(shí)刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國(guó)的各項(xiàng)有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評(píng)論管理人員有權(quán)保留或刪除其管轄評(píng)論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評(píng)論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評(píng)論文檔 | 報(bào)告錯(cuò)誤  
專業(yè)書(shū)推薦 更多內(nèi)容
網(wǎng)站可用性測(cè)試及優(yōu)化指南
《寫(xiě)給大家看的色彩書(shū)1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計(jì)之道
《Flex 4.0 RIA開(kāi)發(fā)寶典》
《贏在設(shè)計(jì)》
犀利開(kāi)發(fā)—jQuery內(nèi)核詳解與實(shí)踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2