loadrunner性能實(shí)戰(zhàn)很多使用LoadRunner的測(cè)試人員經(jīng)常面臨兩個(gè)難題腳本開(kāi)_第1頁(yè)
loadrunner性能實(shí)戰(zhàn)很多使用LoadRunner的測(cè)試人員經(jīng)常面臨兩個(gè)難題腳本開(kāi)_第2頁(yè)
loadrunner性能實(shí)戰(zhàn)很多使用LoadRunner的測(cè)試人員經(jīng)常面臨兩個(gè)難題腳本開(kāi)_第3頁(yè)
loadrunner性能實(shí)戰(zhàn)很多使用LoadRunner的測(cè)試人員經(jīng)常面臨兩個(gè)難題腳本開(kāi)_第4頁(yè)
loadrunner性能實(shí)戰(zhàn)很多使用LoadRunner的測(cè)試人員經(jīng)常面臨兩個(gè)難題腳本開(kāi)_第5頁(yè)
已閱讀5頁(yè),還剩91頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

LoadRunner很多使用LoadRunner的測(cè)試人員經(jīng)常兩個(gè)難題:開(kāi)發(fā)與性能測(cè)試分析。本書(shū)就是基于幫助測(cè)試人員解決這兩個(gè)問(wèn)題而編寫(xiě),致力于使讀者學(xué)精LoadRunnner這一強(qiáng)大的性能測(cè)試工具。全書(shū)共分為四部分:篇、基礎(chǔ)篇、探索篇、實(shí)戰(zhàn)篇。第一篇篇的內(nèi)容包括第1章和第2章,著重于講解性能測(cè)試與LoadRunner的基礎(chǔ)理論知識(shí)。第二篇基礎(chǔ)篇的內(nèi)容包括第3章至第5章,是LoadRunner的基本使用部分,著重講解VirtualUserGenerator、Controller、ysis的使用方法。第三篇第1部分 1章性能測(cè)試基礎(chǔ)知識(shí)..性能測(cè)試基本概念...什么是性能測(cè)試...性能測(cè)試應(yīng)用領(lǐng)域...性能測(cè)試常見(jiàn)術(shù)語(yǔ)...全面性能測(cè)試模型...性能測(cè)試策略模型...性能測(cè)試用例模型...模型的使用方法...性能測(cè)試調(diào)整基礎(chǔ)...如何做能測(cè)試...本章小結(jié)...2章LoadRunner基礎(chǔ)知識(shí)..LoadRunner簡(jiǎn)介...LoadRunner主要特點(diǎn)...LoadRunner常用術(shù)語(yǔ)...LoadRunner工作原理...LoadRunner測(cè)試流程...LoadRunner的部署與安裝...本章小結(jié)...第2部分基礎(chǔ) 第3章的錄制與開(kāi)發(fā)..VirtualUserGenerator簡(jiǎn)介...VuGen錄制原理...VuGen功能簡(jiǎn)介...如何選擇協(xié)議...VuGen錄制功能詳解...錄制參數(shù)設(shè)置...錄制與創(chuàng)建事務(wù)... ...錄制的基本原則... ...參數(shù)化功能...深入集合點(diǎn)...巧用檢查點(diǎn)...關(guān)聯(lián)... ...兩個(gè)常用函數(shù)介紹...本章小結(jié)...4章場(chǎng)景的創(chuàng)建與執(zhí)行..Controller簡(jiǎn)介...場(chǎng)景類型介紹...手動(dòng)測(cè)試場(chǎng)景...面向目標(biāo)的測(cè)試場(chǎng)景...測(cè)試場(chǎng)景設(shè)計(jì)...配置測(cè) ...Generator配置Schedule.集合點(diǎn)配置...IPSpoofer配置...其他設(shè)置場(chǎng)景... 試場(chǎng)景...啟動(dòng)測(cè)試場(chǎng)景...控制用戶與用戶組...查看場(chǎng)景與用戶狀態(tài)...控制集合點(diǎn)...查看運(yùn)行數(shù)據(jù)圖...系統(tǒng)資源...Windows系統(tǒng)資源...Linux/Unix系統(tǒng)資源...本章小結(jié)...第5章性 分析.. ...性能分析基礎(chǔ)知識(shí)...ysis使用基礎(chǔ)...一 例子...如何從分析圖中發(fā)現(xiàn)問(wèn)題...虛擬用戶圖...事務(wù)圖...Web資源圖...網(wǎng)頁(yè)細(xì)分圖...小結(jié)...分析圖的處理方法...修改默認(rèn)配置...合并分析圖...自動(dòng)關(guān)聯(lián)...場(chǎng)景運(yùn)行比較...ysis分析報(bào)告...事務(wù)活動(dòng)報(bào)告(ActivityReports)...事務(wù)性能報(bào)告(PerformanceReports)...HTML與Word報(bào)告...本章小結(jié)...第3部分探索 第6章用VisualC++增強(qiáng)虛擬用 動(dòng) 動(dòng) VisualC++創(chuàng)建Dll 分析本章小 第7章深入Java虛擬用 7.2.2LoadRunnerJavaAPI.Java算法測(cè)試案例...本章小結(jié)...8章深入.NET虛擬用戶..認(rèn)識(shí).NET虛擬用戶....NET虛擬用戶適用范圍...安裝與配置.NET插件...創(chuàng)建.NET虛擬用戶...創(chuàng)建虛擬用戶項(xiàng)目...參數(shù)、集合點(diǎn)、事務(wù)...性能測(cè)試應(yīng)用案例... 器類...創(chuàng)建抽象虛擬用戶類...創(chuàng)建抽象并發(fā)測(cè)試類... ...LoadRunner.NET虛擬用戶...案例總結(jié)...本章小結(jié)...9章LoadRunner特殊協(xié)議應(yīng)用..WindowsSockets協(xié)議應(yīng)用...錄制WindowsSockets協(xié) ...增強(qiáng)WindowsSockets協(xié) ...WAP協(xié)議應(yīng)用...WebServices協(xié)議應(yīng)用...WebServices協(xié)議簡(jiǎn)介...錄制WebServices協(xié) ...FTP協(xié)議應(yīng)用...本章小結(jié)...第4部分實(shí)戰(zhàn) 第10章電子商務(wù)平臺(tái)測(cè)試案 其他事 測(cè)試環(huán) 測(cè)試數(shù) 虛擬用 綜 風(fēng)險(xiǎn)分 10.610.6本章小結(jié)...ALoadRunner性能測(cè)試常見(jiàn)問(wèn)題..BLoadRunner性能測(cè)試模板..性能測(cè)試計(jì)劃模板...項(xiàng)目背景簡(jiǎn)介...測(cè)試方案簡(jiǎn)介...測(cè)試環(huán)境與資源...項(xiàng)目里程碑...技能培訓(xùn)計(jì)劃...風(fēng)險(xiǎn)分析...計(jì)劃結(jié)束標(biāo)準(zhǔn)...性能測(cè)試用例模板...文檔介紹...測(cè)試需求分析...性能測(cè)試用例...性能測(cè)試報(bào)告模板...基本信息...測(cè)試環(huán)境描述...性能測(cè)試用例執(zhí)行分析...綜合分析及建議...B.3.5測(cè)試經(jīng)驗(yàn)總結(jié)...后記..在作者的另一作品《Web性能測(cè)試實(shí)戰(zhàn)》中,曾經(jīng)提到過(guò)“軟件亞健康”這個(gè)概念。現(xiàn) 著IT人的生活質(zhì)量,也 局面 er這樣令性能測(cè)試工作如虎添翼的性能測(cè)試?yán)鳌1緯?shū)將和讀者一起深入LoadRunner的 本開(kāi)發(fā) 能開(kāi)發(fā)測(cè) 、 要想 是遠(yuǎn)遠(yuǎn)不夠的。諸如LoadRunner等測(cè)試工 nner的強(qiáng)大功能來(lái)發(fā)現(xiàn)系統(tǒng)存在的問(wèn)題。首先應(yīng)該弄清楚學(xué)習(xí)LoadRunnerLoadRunnerLoadRunner還遠(yuǎn)遠(yuǎn)不夠,這也是為什么很多 學(xué)好LoadRunner的標(biāo)準(zhǔn)是真正能夠把LoadRunner應(yīng)用到實(shí)際項(xiàng)目中去,這就要求學(xué)習(xí)LoadRunner的同時(shí)一定要學(xué) 能測(cè)試相關(guān)知識(shí)。本書(shū)的第1章即為基本的性能測(cè)試果要學(xué) 2LoadRunnerLoadRunner的工作2-1LoadRunner工作原理,LoadRunner開(kāi)展工作的基礎(chǔ)。本書(shū)的第3章、第4章、第5章分別講解了LoadRunner的VirtualUserGenerator、 結(jié)果分析工作。用LoadRunner來(lái)開(kāi)展性能測(cè)試,必須要掌握這三大組件的使用。如果連 學(xué)習(xí)完第3~5章后,可能還有一些讀者會(huì)問(wèn):“我還是不會(huì)自己寫(xiě)測(cè)試 6~9LoadRunnerLoadRunnerC++、Java、C#語(yǔ)言進(jìn)行開(kāi)發(fā)以及一些特殊 協(xié)議相信通過(guò)前面9章的學(xué)習(xí),讀者已經(jīng)掌握LoadRunner的精髓了。不過(guò)本書(shū)不是一本“LoadRunner使用百 全”,接下來(lái)就需要讀者自己不斷地應(yīng)用與探索LoadRunner了,逐步完成成為一個(gè)LoadRunner高手的蛻變過(guò)程。會(huì)在項(xiàng)目中如何通過(guò)LoadRunnerl借助案例體會(huì)“全面性能測(cè)試模型”GBElll學(xué)習(xí)如何 ll 篇,包括第1章和第2章,著重于講解性能測(cè)試與LoadRunner的基礎(chǔ)理論知識(shí)。在第1章中,講解了性能測(cè)試基本概念、全面性能測(cè)試模型、性能測(cè)試調(diào)整第二部分:基礎(chǔ)篇,包括第3章至第5章,著重講解LoadRunner三大組件的使用,是LoadRunner的基本使用部分。在第3章中,主要講解如何在VirtualUserGenerator中完成代碼的錄制與開(kāi)發(fā);第4章講解如何在Controller中創(chuàng)建與執(zhí)行場(chǎng)景;第5章中講 ysis來(lái)分析性能 69章,著重講解LoadRunner章講解如何用VisualC++來(lái)增強(qiáng)虛擬用戶;第 10章,結(jié)合案例來(lái)講解在具體項(xiàng)目中如何應(yīng)用來(lái) 目中 感謝廣大讀者對(duì)《Web性能測(cè)試實(shí)戰(zhàn)》一書(shū)的支持,讀者的支持是作者寫(xiě)作的真正動(dòng) 感謝師 感謝同事 的上一本著作《Web性能測(cè)試實(shí)戰(zhàn)》中,為接近軟件性能問(wèn)題提出位作者共同創(chuàng)作了《LoadRunnerLoadRunner模擬成千上萬(wàn)的用戶,很快地幫助用戶確認(rèn)和查找性能問(wèn)題。但是國(guó) 場(chǎng)上卻沒(méi)有任何相關(guān)書(shū)籍,《LoadRunner《LoadRunnerLoadRunner應(yīng)用《Web戶蘭(Melody1.1llLoadRunnerlLoadRunner8lLoadRunnerlLoadRunner100lLoadRunnerITLoadRunner了。不nnnnn ,2006年5 其體現(xiàn)在和Web 點(diǎn),來(lái)獲得系統(tǒng)能提供的最大服務(wù)級(jí)別的測(cè)試。例如測(cè)試一個(gè)Web1.2節(jié)的“全面性能測(cè)試模型”。l當(dāng)正常的用戶點(diǎn)擊率為“1000次/秒”時(shí),運(yùn)行點(diǎn)擊率為“2000次/秒”l運(yùn)行需要最 l運(yùn)行可能導(dǎo)致操作系 7×24小時(shí)的壓力測(cè)試。主要指當(dāng)測(cè)試多個(gè)用戶并同時(shí)同一個(gè)應(yīng)用程序、同一個(gè)模塊或數(shù)據(jù)記錄時(shí)是否存中,并發(fā)用戶往往都是借助工具來(lái)進(jìn)行模擬的,LoadRunner中稱之為并發(fā)虛擬用戶。 重要依據(jù)。例如,可以通過(guò)不停地調(diào)整Oracle的內(nèi)存參數(shù)來(lái)進(jìn) CPU70%~90%8個(gè)小1.2節(jié)提出了“全面性能測(cè)試ll根 lllll系統(tǒng)的性能瓶頸定位是性能測(cè)試最常見(jiàn)的應(yīng)用領(lǐng)域。借助LoadRunner等工具,可以 系統(tǒng)資源、Web服務(wù)器資源等運(yùn)行數(shù)據(jù),與響應(yīng)時(shí)間進(jìn)行同步Oracle的內(nèi)存大小與系統(tǒng)自身的業(yè)務(wù)特點(diǎn)有極大關(guān)系,配置不同的數(shù)據(jù)庫(kù),性能表現(xiàn)就會(huì)不同;而即使在內(nèi)存一定的情況下,SGA的分配也會(huì)對(duì)性能產(chǎn)生很大的 800用戶并發(fā),這些都是用戶根據(jù)自身需求來(lái)規(guī)劃硬件的重要依據(jù)。 理。例如 點(diǎn)。例如OA系統(tǒng)統(tǒng)計(jì)并發(fā)用戶數(shù)量的經(jīng)驗(yàn) OA1000200具中,請(qǐng)求響應(yīng)時(shí)間通常會(huì)被稱為“TTLB”,即“Timetolastbyte”,意思是從發(fā)送一個(gè)請(qǐng)為“秒”或“毫秒”1-1所示。1-1Web7個(gè)部分組成,即(N1+N2+N3+N4)+(A1+A2+A3)。吞吐率TPS(TransactionPer 是LoadRunner中重要的性能參數(shù)指標(biāo)。點(diǎn)擊率(HitPerWebHTTPWeb應(yīng)用特有的一個(gè)指 客戶端可能向服務(wù)器發(fā)出多個(gè)HTTP請(qǐng)求。CPU利用率、磁盤(pán)利用1.21.2 10501000乃至上萬(wàn)時(shí)就變成 試, 模塊主要由性能測(cè)試策略決定,讀者可以參考1.2.2節(jié)“性能測(cè)試用通常所有的用戶不會(huì)只使用一個(gè)或幾個(gè)業(yè)務(wù)模塊,一個(gè)應(yīng)用系統(tǒng)的每個(gè)功能模塊使用同能),又要模擬多用戶的“不同”操作(這里的“不同”指很多用戶同時(shí)對(duì)一個(gè)或用戶實(shí)際使用情況的測(cè)試,也是性能測(cè)試的內(nèi)容。通常按照用戶的實(shí)際使用人數(shù)比例來(lái)模擬各個(gè)模板的組合并況。作系統(tǒng)、Web服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器)性能測(cè)試結(jié)合起來(lái)進(jìn)行。在通過(guò)工具模擬用戶操作 一起,在整個(gè)性能測(cè)試的后期進(jìn)行。大數(shù)據(jù)量測(cè)試可以理解為特定條件下的業(yè)務(wù)或組服務(wù)器性能測(cè)試主要是對(duì)數(shù)據(jù)庫(kù)、Web服務(wù)器、操作系統(tǒng)的測(cè)試,目的是通過(guò)性能測(cè)Wb“全面性能測(cè)試模型”3部1部分:性能測(cè)試策略模型,這是整個(gè)性能測(cè)試模型的基礎(chǔ)。軟件類型決定著性能第2部分:性能測(cè)試用例模型,這是整個(gè)性能測(cè)試模型的 結(jié)合測(cè)試工具,把以上性能測(cè)試的8項(xiàng)內(nèi)容進(jìn)一步歸納,形成5類測(cè)試用例:lllll測(cè)試的用例設(shè)計(jì)與前三種類型結(jié)合起來(lái)。例如LoadRunner就可以在進(jìn)行壓力測(cè)試的同 3部分:模型的使用方法。本部分內(nèi)容討論如何在工作中使用“全面性能測(cè)試模 用,例如辦公自動(dòng)化軟件、MIS系統(tǒng)等。一般應(yīng)用類軟件多根據(jù)實(shí)際情況來(lái)制定性能測(cè)試策略,例如OA系統(tǒng),既可以早開(kāi)始,也可以最后進(jìn)行性能測(cè)試,這類軟件受用戶因素影4類,即高度重視、中等重視、一般重1-1列出了性能測(cè)試策略制定的基本原則。1-11-1中可以看出:(1)“系統(tǒng)類軟件”、“特殊應(yīng)用類軟件”應(yīng)該從設(shè)計(jì)階段開(kāi)始進(jìn)OA系統(tǒng),仍然要高度測(cè)試,甚至根本不關(guān)心,對(duì)于性能要求較高的軟件產(chǎn)品也應(yīng)按照表1-1的策略來(lái)執(zhí)行性能 表1-2某銀行項(xiàng)目測(cè)試策略 OA1-3所1-3OA例1-4例 求客戶提出了性能方面的需求:要求系統(tǒng)響應(yīng)時(shí)間要加快,可以滿足2000個(gè)產(chǎn)品類主要用于一些單位信息的發(fā)布,用戶在50人以下。因此該類軟件屬于一影響性能測(cè)試策略的制定。因此,本節(jié)只是基本的參考方案。制定測(cè)試策略是十分的基礎(chǔ),決定著性能測(cè)試工作的投入。因此,要充分這一工作的重要性,認(rèn)識(shí)到只“性能測(cè)試用例模型”是“全面性能測(cè)試模型”的內(nèi)容。限于篇幅和本書(shū)主旨,本節(jié)僅細(xì)的內(nèi)容,讀者可以參考作者的另一本專著《Web性能測(cè)試實(shí)戰(zhàn)》。8“” 1-2獨(dú)立 塊(以簡(jiǎn)稱“ 模”)發(fā)性能的重點(diǎn)是試一些統(tǒng)重要塊獨(dú)立運(yùn)行情況,此可以其理解“單性能試”。只這些決系統(tǒng)能的“ 單元”性能定,后的性測(cè)試才意義。 模并發(fā)性能試是整性能測(cè)工作的 “ 務(wù)系統(tǒng) 息llll基于硬件的測(cè)試:主要通過(guò)各 ll高級(jí)服務(wù)器性能測(cè)試:主要指在特定的硬件條件下,由數(shù)據(jù)庫(kù)、Web服務(wù)器、操作系統(tǒng)相應(yīng)領(lǐng)域的專家進(jìn)行的性能測(cè)試。例如,數(shù)據(jù)庫(kù)服務(wù)器由專門(mén)的DBA來(lái) l l ll ll模型具體化原則。模型具體化是指把模型運(yùn)用到具體的項(xiàng)目中去,這是前面所有指導(dǎo)原“或“”“或“”“”“”“”首先根 l檢查應(yīng)用程序代碼:通常情況下,很多程序的性能問(wèn)題都是“寫(xiě)”出來(lái)的。因此對(duì)于發(fā)現(xiàn)lOracle的大型數(shù)據(jù)庫(kù)都需要DBA進(jìn)行正確的參數(shù)調(diào)整才能投產(chǎn);ll檢查硬件設(shè)置:磁盤(pán)速度、內(nèi)存大小等都是引起瓶頸的原因,因此這些也是分析的重l檢查網(wǎng)絡(luò):網(wǎng)絡(luò)負(fù)載過(guò)重會(huì)導(dǎo)致網(wǎng)絡(luò) lllCPUI/Olll是大多數(shù)用戶還是少數(shù)用戶遇到了問(wèn)題?如果是少數(shù)用戶,這幾個(gè)用戶與其他用戶的操l系統(tǒng)資 l問(wèn)題是否集中在某一類模塊中?l是客戶端還是服務(wù)器出現(xiàn)問(wèn)題?l系統(tǒng)硬件配置是否合理?lllll lll如何 l開(kāi)發(fā)階段的性能測(cè)試實(shí)施開(kāi)發(fā)階段的性能測(cè)試主要指軟件試運(yùn)行前的性能測(cè)試,即團(tuán) l用戶現(xiàn)場(chǎng)性能測(cè)試的實(shí)施用戶現(xiàn)場(chǎng)的性能測(cè)試有驗(yàn)收測(cè)試的“味道”l計(jì)算機(jī)專業(yè)技能計(jì)算機(jī)領(lǐng)域的專業(yè)技能是測(cè)試工程師應(yīng)該必備的一項(xiàng)素質(zhì),這是做好IT背景的人也可以從事測(cè)試工作,但是一名要想獲得3個(gè)方面:()“”“本錄制與修改、回放測(cè)試等)。序。只有能夠進(jìn)試開(kāi)發(fā),才可以勝任諸如單元測(cè)試、集成測(cè)試、性能測(cè)試等Java、C#、C++之中的一門(mén)語(yǔ)言以及相應(yīng)的開(kāi)發(fā)工 Unix、linux來(lái)運(yùn)行的,這就要求測(cè)試人員掌握其基本的操作命令以及相關(guān)工具軟件的使用。而WebLogic、Websphere等中間件的安裝lIT企業(yè)從事石油、lIT企業(yè)從事石油、l個(gè)人素養(yǎng)作為一名優(yōu)秀的測(cè)試工程師,首先要對(duì)測(cè)試工作 1.5LoadRunner1.5LoadRunner是遠(yuǎn)遠(yuǎn)不夠的,深入地理解性能測(cè)試?yán)砟钍亲? 逐步踏入LoadRunner的性能測(cè)試世界5.1.1 ysis如 nnnnn5.1 試 第三步 才 應(yīng)時(shí)間過(guò)長(zhǎng)、系統(tǒng)支持的最大并發(fā)用戶數(shù)過(guò)低、系統(tǒng)的應(yīng)用服務(wù)器CPU利用率過(guò)高或內(nèi)存 本節(jié)先介紹性能測(cè)試分析的基礎(chǔ)知識(shí),然后介紹 確 內(nèi),由表及里,層層深入”5-1所示。5-1 包括應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器的響應(yīng)時(shí)間。對(duì)比Tn和Ts,就很容易知道系統(tǒng)在哪些圖5-2客 5-3Buffer性能分 而道不然。即使有了正確的,也不一定能對(duì)系統(tǒng)的性能問(wèn)題進(jìn)行正確定位。例如,服把工作做透,才能把性能測(cè)試工作做好。 ysis對(duì)這些 LoadRunner的 ysis是一個(gè)獨(dú)立模塊,本節(jié)將介紹它的主要功能以及基本使用方法。在后面的5.2節(jié)中,將詳細(xì)介紹如何借助各類數(shù)據(jù)圖表來(lái)分析系統(tǒng)的性能問(wèn)題。 ysis有4種方式:在Controller啟動(dòng)場(chǎng)景前選中其菜單的“Run→AutoLoadysis”;在Controller 圖標(biāo);在Controller 圖標(biāo);從開(kāi)始菜單依次點(diǎn)擊“MercuryLoadRunner→Applications→ 前兩種方式在打開(kāi)ysis后會(huì)自動(dòng)分析當(dāng)前場(chǎng)景的運(yùn)行結(jié)果,后兩種方式僅打開(kāi)ysis應(yīng)用程序,需要手動(dòng)選擇文件來(lái)產(chǎn)生分析圖。在測(cè)試結(jié)束并完成數(shù)據(jù)收集后,就可以啟動(dòng)ysis打開(kāi)文件,將其導(dǎo)入Access數(shù)據(jù)庫(kù),然后按照設(shè)置的模板打開(kāi)默認(rèn)的結(jié)果分析圖。通常的分5-4所示。利用ysis進(jìn)行分析的第一步是查看分析概要報(bào)告(ysisSummary)5-4述、HTTP響應(yīng)概述(Web測(cè)試)等。 在圖5-4所示的 ysis界面中,點(diǎn)擊 將進(jìn)入到圖5-5所示的新的分析圖 ysis提供的全部分析圖。 5-5虛擬用戶(Vusers)圖虛擬用戶圖分為運(yùn)行狀態(tài)的虛擬用戶圖、虛擬用戶概要圖和集合3類。主要借助其查看場(chǎng)景與會(huì)話的虛擬用戶行為。Errors圖Errors圖主要有錯(cuò)誤統(tǒng)計(jì)、每秒錯(cuò)誤數(shù)量?jī)深?。借助Errors圖可以發(fā)現(xiàn)服務(wù)器事務(wù)(Transactions)圖ysis和事務(wù)相關(guān)的分析圖表有事務(wù)綜述圖、事務(wù)平均響應(yīng)時(shí)間圖、每秒通過(guò)事務(wù)數(shù)圖、每秒通過(guò)事務(wù)總數(shù)圖、事務(wù)性能圖、事務(wù)響應(yīng)時(shí)間與負(fù)載Web資源(WebResources)圖WebWeb服務(wù)器的吞吐率圖、點(diǎn)擊率圖、返回的HTTPHTTP網(wǎng)頁(yè)細(xì)分(WebPageBreakdown)圖在ControllerAstics→Distribution”5-65-6中同時(shí)選中“Enablethefollowingdiagnostics”和“WebPageDiagnostics(MaxAllowedDistribution10%)”復(fù)選框。5-6 系統(tǒng)資源(SystemResources)圖系統(tǒng)資源圖顯示在場(chǎng)景運(yùn)行期間,由聯(lián) 獲得 源的方法,可以參考第3章的相關(guān)內(nèi)容。在5.4節(jié)中, ysis分析圖 ysis提供的幾十個(gè) ysis以外的各種分析工具。例如,可以借助Oracle提供的 與分析工具,也可以借助WebLogic提供的用戶是否全部運(yùn)行,最大運(yùn)行并發(fā)用戶數(shù)(umRunningVusers)是否與場(chǎng)景設(shè)計(jì) CPU的利用率和內(nèi)存使用情況,尤其要注意查看是否存在內(nèi)存泄漏問(wèn)題。這樣做是由于很CPU利用率過(guò)高或內(nèi)存不足。CPU、內(nèi)存、帶寬沒(méi)有出現(xiàn)瓶頸,否則測(cè)試結(jié)果無(wú)效。而待測(cè)試服務(wù)器,則重點(diǎn)分析測(cè)試過(guò)程中CPU和內(nèi)存是否出現(xiàn)了瓶頸:CPU需用)能正常運(yùn)行,則需要重新設(shè)計(jì)場(chǎng)景或調(diào)整用戶加載與退出方式再次進(jìn)試。對(duì)于事務(wù),5-7所示的5-7 可能是測(cè) 5-8ysis對(duì)虛擬用戶和事務(wù)提供了非常強(qiáng)大的功能,可以每一個(gè)用戶及其相關(guān)事務(wù)的執(zhí)行情況。這些內(nèi)容可以在ysis菜單“Reports→CrystalReport”下找到。這5.3節(jié)介紹。生成緩存文件導(dǎo)致用戶不能正常而產(chǎn)生的錯(cuò)誤;5-9查看錯(cuò)誤分類統(tǒng)計(jì),作為優(yōu)化系統(tǒng)的參考。例如Web性能測(cè)試,當(dāng)出現(xiàn)瓶頸時(shí)往往需要查看服務(wù)器的錯(cuò)誤統(tǒng)計(jì)信息結(jié)果:如果“超時(shí)錯(cuò)誤”90%以上,可能需要提高硬件配置;Web性能測(cè)試。查看Web5.1.3一 例近兩年,隨著網(wǎng)絡(luò)的發(fā)展,如雨后春筍般出現(xiàn)。尤其一些熱門(mén)的,擁有巨大的用戶群體。如一些知名的寬頻,在社會(huì)發(fā)生熱點(diǎn)期間的并發(fā)用戶數(shù)量會(huì)達(dá)到百萬(wàn)級(jí)以上。巨大的并發(fā)量對(duì)系統(tǒng)的性能提出了非常高的要求。本案例探討的是一個(gè)已經(jīng)上線的遇到的性能問(wèn)題,該系統(tǒng)的設(shè)計(jì)目標(biāo)是每天00%,導(dǎo)致Oracle數(shù)據(jù)庫(kù)發(fā)生停止服務(wù)的現(xiàn)象。數(shù)據(jù)庫(kù)不工作, 發(fā)布 門(mén)戶來(lái)欣 1.首先,把數(shù)據(jù)庫(kù)的操作分為Insert、Update、Delete、Select四種,分 的結(jié)構(gòu),可以看出發(fā)布系統(tǒng)出問(wèn)題的可能性不大,因?yàn)檫@是一個(gè)成型的產(chǎn)品。因此,問(wèn)題更可能會(huì)出現(xiàn)在的門(mén)戶或門(mén)戶與發(fā)布系統(tǒng)的接口上。經(jīng)過(guò)進(jìn)一步的分析,了解到門(mén)戶用戶首頁(yè):首頁(yè)是導(dǎo)航頁(yè)面,主要操作有查找熱點(diǎn)或自己關(guān)注的 頁(yè)面等 用 2.不難看出 設(shè)計(jì) 5-1硬件配軟件配服務(wù)器:兩臺(tái)Dell2850CPU:Xeon3.0GB′2操作系統(tǒng):企業(yè)版Windows操作系統(tǒng):企業(yè)版WindowsWeb ysis進(jìn)行分析,得到了如圖5-10的 首頁(yè)(Index頁(yè)面)不能 181.8345-1050置后,立刻發(fā)現(xiàn)了一個(gè)參數(shù)配置問(wèn)題:Oracle數(shù)據(jù)庫(kù)的運(yùn)行模式是“專有服務(wù)器模式”!而關(guān)于Oracle在服務(wù)器模式下,用戶連接所需要的全部資源在PGA中進(jìn)行分配。該內(nèi)存區(qū)為指定私有連接,其他進(jìn)程不能。連接采用一對(duì)一的連接方式,能很快地響應(yīng)用戶的請(qǐng)件的限制比較大。為了克服這種情況,Oracle提供了共享服務(wù)器運(yùn)行模式,即用一個(gè)服務(wù) 獨(dú)立場(chǎng)景測(cè)試下面是Oracle調(diào)整為“共享服務(wù)器模式”后的測(cè)試實(shí)施過(guò)程。為了更好地對(duì) 從圖5-11中可以看出,“Action”事務(wù)即打開(kāi) 頁(yè)面的平均時(shí)間是1.354秒,這是非常好的結(jié)果。但是應(yīng)該注意到:半小時(shí)內(nèi)有超過(guò)17萬(wàn)個(gè) 務(wù)十分艱巨,而半小時(shí)內(nèi)超過(guò)17萬(wàn)個(gè) 與圖5-11的 變大,這是用戶數(shù)量變大的正常反應(yīng);事務(wù)通過(guò)率85%與82%相比沒(méi)有太大變化。稍稍5-118005-129005-13找出了三個(gè)SQL程序本身的一個(gè)原因:SQL語(yǔ)句消耗了大量的數(shù)據(jù)庫(kù)時(shí)間,其他問(wèn)題極有可能是語(yǔ)句不合理引起的。主要推理如下:當(dāng)一些反復(fù)執(zhí)行的SQL語(yǔ)句效率過(guò)低時(shí),首先會(huì)造成高速緩存I/OI/OCPU。因此整個(gè)系統(tǒng)的瓶這兩次還有一個(gè)奇怪的現(xiàn)象:一方面事務(wù)響應(yīng)時(shí)間較快,另一方面卻有大量的事務(wù)沒(méi)有響應(yīng)。僅根據(jù)目前的還看不出直接原因。但這也很可能是前面的三個(gè)SQL ysis打開(kāi)圖5-14的“事務(wù)平均響應(yīng)時(shí)間圖”和圖5-15的“建立第一個(gè)緩沖的 ysis打開(kāi)圖5-14的“事務(wù)平均響應(yīng)時(shí)間圖”和圖5-15的“建立第一個(gè)緩沖的5-145-15SQL語(yǔ)句進(jìn)行優(yōu)化,然后對(duì)系統(tǒng)進(jìn)SQL語(yǔ)句調(diào)整后的測(cè)試開(kāi)發(fā)人員優(yōu)化了SQL語(yǔ)句后,并對(duì)900個(gè)用戶進(jìn)行并發(fā)、持續(xù)1.5小時(shí)的壓力測(cè)試,如圖5-16所示。從圖中可以看出,調(diào)整后系統(tǒng)的性能非常穩(wěn) 5-16SQL ysis打開(kāi)圖5-17所示的事務(wù)平均響應(yīng)時(shí)間圖,可以看到整個(gè)測(cè)試過(guò)程“打 由此可以得出結(jié)論:調(diào)整SQL5-17 根據(jù)常理,本次測(cè)試用的是普通的PC服務(wù)器,900個(gè)并發(fā)用戶用1秒的響應(yīng)時(shí)間顯然不合理,39秒才符合實(shí)際情況。1秒的事務(wù)平均響應(yīng)時(shí)間只是一種假像,是系統(tǒng)存在性 頁(yè)面”的性能,在圖5-16中有穩(wěn)定表現(xiàn),可以認(rèn)為測(cè)試過(guò)關(guān)!3. 150PV(頁(yè)面瀏覽500個(gè)并發(fā)用戶。1.頁(yè)面無(wú)緩存、500運(yùn)行的最大用戶數(shù):1000個(gè)5-185-2事務(wù)響應(yīng)時(shí)間(秒5-19CPU5-3CPUOracleWeb5-20數(shù)OracleCPU82.723%,說(shuō)明數(shù)據(jù)庫(kù)系統(tǒng)穩(wěn)定運(yùn)行。Web服務(wù)CPU67.5438PV均值為:67.126*3600*8≈193150PV。2.采用靜態(tài)頁(yè)面緩存方式、500用戶并發(fā)測(cè)試場(chǎng)景持續(xù)執(zhí)行時(shí)間:6分鐘5-215-225-22CPU5-6CPU利用率 頁(yè) 5-23數(shù)OracleWebOracleCPU8.267%,這說(shuō)明靜態(tài)頁(yè)面緩存技術(shù)大大節(jié)省了對(duì)數(shù)據(jù)庫(kù)的資源消耗,系統(tǒng)更加穩(wěn)定運(yùn)行。WebCPU67.3238PV均值為:69.043*3600*8≈199萬(wàn) 完成ysis是遠(yuǎn)遠(yuǎn)不夠的。在實(shí)際工作中,往往會(huì)借助各種系統(tǒng)工具以及各方面的綜合知識(shí)找出系統(tǒng)的瓶頸。例如在本項(xiàng)目中,Oracle自帶的管理工具起了至關(guān)重要的作用,本案例恰恰是借助它發(fā)現(xiàn)了引起系統(tǒng)瓶頸的SQL語(yǔ)句,借助這個(gè)突破口逐步解決了其他性能問(wèn) ysis的各種分析報(bào)表,不能讓任何一個(gè)性能 7.1JavanJavannnJavaJava虛擬用戶 主要有JavaVuser、Corba-Java、RMI-Java、EJB等類型。這些類 JavaJavaVuserJava虛擬用戶,中可以使用標(biāo)準(zhǔn)的Java語(yǔ)言。這種CVuser一樣,非常廣泛。JavaVuserVuGen錄制的,然后使用標(biāo)準(zhǔn)的JavaLoadRunnerJava方法來(lái)增強(qiáng)該。RMI-Java虛擬用戶適用于測(cè)試RMI( 方法調(diào)用)Java應(yīng)用程序或小程序。選擇RMI-Java用戶進(jìn)行錄制,VuGen可以創(chuàng)建對(duì)應(yīng)的Java 。完成錄制后,可以使用JDK或自定義類,通過(guò)標(biāo)準(zhǔn)的Java代碼來(lái)增強(qiáng)或修改 ,還可以通過(guò)特定于LoadRunner的Java方法增強(qiáng)該 EJB虛擬用戶專門(mén)用于測(cè)試EnterpriseJavaBeans對(duì)象。采用EJB協(xié)議,VuGen會(huì)自 以測(cè)試EJB功能,無(wú)需錄制或編程,這和標(biāo)準(zhǔn)的JavaVuser明顯不同。在使用EJB協(xié)議類型的虛擬用戶生成 前,需要指定JNDI屬性和關(guān)于應(yīng)用程序服務(wù)器的其他信息。LoadRunner的EJB檢測(cè)器首先掃描應(yīng)用程序服務(wù)器并確定哪些EJB可 需要注意的是,創(chuàng)建EJB虛擬用戶測(cè)試 nnerEJB檢測(cè)器,而且檢測(cè)器必須處于活動(dòng)狀態(tài)。EJB檢測(cè)器是一個(gè)獨(dú)立 裝有效的JDK環(huán)境。Java7-2JavaActionsinit、end部分7-1JavaVuser7-2JavaVuserActionsJava 所在 會(huì)更快。下一章將重點(diǎn)介紹如何用.NET來(lái)開(kāi)發(fā)性能測(cè)試 Java虛擬用戶適用范圍非常廣,歸納起來(lái)主要有兩大類:一類是不太適合錄制的業(yè)務(wù)功能點(diǎn)的性能測(cè)試,例如網(wǎng)頁(yè)上Http文件的 等;另一類是基于Java語(yǔ)言開(kāi)發(fā)的應(yīng)用系統(tǒng)的性能測(cè)試,這類應(yīng)用更適合采用Java虛擬用戶進(jìn) JavaVuserlWebl vaVuser來(lái)測(cè)試這些業(yè)務(wù)的執(zhí)行效率。lJavaJavaJava應(yīng)用相比,JavaJava虛擬用戶,因?yàn)榭梢灾苯訉?duì)一些方Java開(kāi)發(fā)工具包的簡(jiǎn)稱(JavaDevelopmentKit),SunJDK1.2以后的版本Java2。JDKJ2SDK(Java2SoftwareDevelopmentKit),J2SDK1.4以上的版本。JDK可以從/\j2sdk1.4.1”路徑下,LoadRunner安裝在“D:\ProgramFiles\Mercury rcury WindowsXP 級(jí)”選項(xiàng)卡,如圖7-3所示。7-4的“系統(tǒng)變量”CLASSPATHCLASSPATH,則點(diǎn)擊“新建”7-5所示的界面。通常安裝了LoadRunnerCLASSPATH變量。這里需要注意CLASSPATH變量值的最前面輸入當(dāng)前路徑“.”JDK的類庫(kù)路徑,;7-4中,CLASSPAT變量值是“.;C:\j2sdk1.4.1\libC:\j2sdk1.4.1\jre\lib;D:\Tomcat-5.0\common\lib;D:\ProgramFiles\MercuryInctive\MercuryLoadRunner\classes;D:\ProgramFiles\MercuryInctive\MercuryLoadRunner\l7-37-47-5第四步:在圖7-4的“系統(tǒng)變量”中,選中Path,點(diǎn)擊編輯,會(huì)進(jìn)入圖7-6所示的界面。在變量值的最前面填上JDK開(kāi)發(fā)工具包的bin 7-6PathPath變量值的最前面輸入當(dāng)前路徑“·JDKbin路徑,如“.;C:\j2sdk1.4.1\bin;C:\j2sdk1.4.1\jre\bin;”Java虛擬用戶可能產(chǎn)生運(yùn)行錯(cuò)誤?!?;C:\j2sdk1.4.1\bin;C:\j2sdk1.4.1\jre\bin;D:\ProgramFiles\MercuryInctive\MercuryLoadRunner\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\ProgramFiles\In\Wireless\Bin\”。 要想掌握J(rèn)ava虛擬用戶的使用,測(cè)試 Java語(yǔ)言方面的技能,并熟練使用至少一種Java集成開(kāi)發(fā)工具,例如Eclipse;二是掌握LoadRunner的JavaAPI,JavaAPI是 Vuser函數(shù)的基礎(chǔ),通過(guò)LoadRunner的JavaAPI可以在 不難看出,JavaJavaVuserJavaJava語(yǔ)言方面JavaJava7-17-1Java詳細(xì)內(nèi)Java Java Java詳細(xì)內(nèi)Java Java Java類定義規(guī)范 Java Java Java名字空間及規(guī) Java I/O 例 2 2JavaInternet2使用InetAddress2URL Socket JDBC編程詳細(xì)內(nèi)Java ServletAPI Servlet JavaServer JSPJSPJava開(kāi)發(fā)知識(shí)。EclipseNetBeans、SunONEStudioBorlandJbuilder類似的,一種基于Java的整合型可擴(kuò)展開(kāi)發(fā)平臺(tái),也是目前最著名的開(kāi)源項(xiàng)目之一。IBM一直在大力支持該2001114千萬(wàn)到該項(xiàng)目的研發(fā),這也是Eclipse項(xiàng)Eclipse專注于為高度集成的工具開(kāi)發(fā)提供一個(gè)全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺(tái)。它主要由Eclipse項(xiàng)目、Eclipse工具項(xiàng)目和Eclipse技術(shù)項(xiàng)目組成,具體包括四個(gè)組成部 tform、JDT、CDT和PDE。JDT支持Java開(kāi)發(fā)、CDT支持C開(kāi)發(fā)、PDE tform則是一個(gè)開(kāi)放的可擴(kuò)展IDE,提供了一個(gè)通用的開(kāi)發(fā)EclipseSDK(軟件開(kāi)發(fā)包)是Eclipse tform、JDT和PDE所生產(chǎn)的組件合并,它們可以從 一個(gè)具有豐富特性的開(kāi)發(fā)環(huán)境,允許開(kāi)發(fā)者有效地建造可以無(wú)縫集成到Eclipse 中的工具。EclipseSDK由Eclipse項(xiàng)目生產(chǎn)的工具和來(lái)自其他開(kāi)放源代碼的第 在接下來(lái)的內(nèi)容里,將介紹用EclipseJava虛擬用戶中調(diào)用編譯好的類文件。關(guān)于EclipselJava7-77-87-97-107-10中,單擊“完成”Java7-11中可以看到新建的項(xiàng)7-11lJava在圖7-13中,輸入包名稱“com.lr.test”、類名稱“ 可。點(diǎn)擊“完成”,進(jìn)入源代碼編輯界面,如圖7-14所示。7-137-14 oWord!");”如圖7-14所示。代碼編輯完成后,按照?qǐng)D7-15編譯與運(yùn)行程序。如果編譯執(zhí)行成功,可以在Eclipse的控制臺(tái)看到輸出結(jié)果,如圖7-16所示。7-15Java7-16lJaval進(jìn)入到 到b”,這樣LoadRunner創(chuàng)建的所有Java 入語(yǔ)句“importcom.lr.test.*;”7-17JavalVirtualUser7-187-18與C相比,JavaC...” 保存后,接下來(lái)可以放到Controller中來(lái)運(yùn)行,讀者可以自己進(jìn)行實(shí)驗(yàn)。需 的客戶機(jī)必須安裝JDK環(huán)境并正確設(shè)置路徑,否則將會(huì)出現(xiàn)如圖7-19所示的提示。7-19JDK LoadRunnerJavaLoadRunner為VuserJavaAPIlrapi.lr類的靜JavaAPIJava虛擬用戶的可用性。本節(jié)將介紹常用的JavaAPI的用法,的函數(shù)及其用法讀者可以參考LoadRunner聯(lián)機(jī)手冊(cè)。Java虛擬用戶中,JavaAPIVuser函數(shù)中的用法基本一致,只是寫(xiě)法Java語(yǔ)言的特點(diǎn)。事務(wù)函數(shù)(Transactionintlr.start_transaction(Stringtransaction_name)intlr.end_transaction(Stringtransaction_name,intstatus)信息函數(shù)(InformationalStringlr.get_group_name()VuserStringlr.get_host_name():返回執(zhí)行 的負(fù) Stringlr.get_master_host_name()Controllerintlr.get_scenario_id()intlr.get_vuser_id()VuserID運(yùn)行時(shí)函數(shù)(Run-Timevoidlr.peek_events();:指示可以暫停 intlr.rendezvous(Stringrendezvous_name):在 voidlr.think_time(doubletime):暫 字符串函數(shù)(StringStringlr.eval_string(Stringinstring)intlr.eval_int(Stringname)intlr.next_row(Stringdat_file)消息函數(shù)(Messageintlr.debug_message(intmessage_level,Stringmessage)intlr.error_message(Stringmessage):向Vuserintlr.log_message(Stringmessage)Vuserintlr.message(Stringmessage)intlr.output_message(Stringmessage)intlr.vuser_status_message(Stringmessage)Controller窗口中的7.3JavaJavaVuserJava SocketgiveOutWork()synchron一 作。服務(wù)器端程序即WorkServer.java,包含WorkQueue、Accept ver三類。類WorkQueue主要完成任務(wù)隊(duì)列的構(gòu)建與管理工作;類Accept Thread繼承線程類Thead,以獨(dú)立線程的方式來(lái)處理客戶端申請(qǐng)任務(wù)并保存客戶端對(duì)任務(wù)的處理結(jié)果;類WorkServer是服務(wù)器端的執(zhí)行類,主要完成對(duì)WorkQueue、Accept packagecom.loadrunner.test;importjava.io.*;import @authorpublicclass Socketsocket; BufferedReaderis;//讀出服務(wù)器返回的輸入流PrintWriteros;//反饋給服務(wù)器的輸出流*(Sockets)trythis.socket=this.is=newBufferedReader(newthis.os=newPrintWriter(s.getOutputStream()); Number=Integer.parseInt(is.readLine());}catch(Exceptione)System.err.println("Error:Cannotinitthe}}publicintapplyWork(){intworkNumber=-1;try{workNumber=Integer.parseInt(this.is.readLine());//讀出申請(qǐng)結(jié)果if(workNumber==-1){System.out.println("ServerhasnoWorktodo");}}catch(Exceptione)System.err.println("Error:Cannotapplythe}return}@returndealwith@authorpublicintdealWithWork(intworknumber)return1;}@returnensure@authorpublicbooleanfinishWork(intworkNumber){booleanfinish=false;try{finish=Boolean.valueOf(this.is.readLine()).booleanValue();if(finish==false){System.out.println("Error:Workfinishcannotbeset!");}}catch(Exceptione)System.err.println("Error:Cannotstartthenetwork!");}return}} packagecom.loadrunner.test;importjava.io.*;import隊(duì)列{原始N個(gè)任務(wù),接受申請(qǐng)返回任務(wù)號(hào),檢查任務(wù)是否正在處理、接受 @authorclassprivateint[]WorkFlag;//0-未申請(qǐng);1-申請(qǐng)后正在處理;2-處理完成privateinttotal;int WorkQueue(int{this.WorkFlag=newint[this.total];for(inti=0;i<this.total;i++){}}intgiveOutWork(){intk=this.nowNumber;try}catch(InterruptedExceptione){}returnk;}//truefalse。booleanfinishWork(intworknumber){intif{returntrue;System.err.println("Work"+number+"Cannotbe}return}} class Threadextends{privateSocketsocket=null;privateint privateWorkQueueworkQueue; Thread(Socketsocket,WorkQueue { }intgiveOutWork()//{}catch(Exception{}return}booleanfinishWork(intworknumber)//{return}publicvoid{BufferedReaderis=newBufferedReader(newInputStreamReader(socket.getInputStream()));PrintWriteros=newPrintWriter(socket.getOutputStream());os.println(this.Number);Stringstep=is.readLine();{}intworknumber=this.giveOutWork();{}//如果沒(méi)有被處理過(guò)(1),則可以提交客戶端的結(jié)果booleanresult=this.finishWork(worknumber);{System.out.println("Work+"doneby }}catch(Exception{}}}publicclassWorkServerpublicstaticvoidmain(String[]args)//TODOAuto-generatedmethodstubServerSocketserverSocket=null;booleanlistening=true;WorkQueuequeue=newtry{serverSocket=new}catch(IOException{System.err.println("Couldnotlistenonport:8000.");}{ while(listening){Socketsocket=newsocket=serverSocket.accept();//程序?qū)⒃诖说群蚩蛻舳说倪B接new }}catch(Exception{}}}JavaTest.javaEclipse中開(kāi)發(fā)完成。在Test.javaTest,用于調(diào)用.java中的方法。下面是測(cè)試程序Test.java的程序 packagecom.loadrunner.test;importjava.io.IOException;import.Socket;import.UnknownHostException;publicclassTest{publicvoidApplyProccess()throws{ Socket=null;try{Socket=new int int booleanensureResult= {System.err.println("Error:Workcheckerror!");}{System.out.println("Finishwork}}catch(UnknownHostExceptione){System.err.println("Don'tknowabouthost:.");}catch(IOExceptione)System.err.println("Couldn'tgetI/Ofortheconnectionto:}}}上面三個(gè)程序在Elipse中編譯完成后,將會(huì)按照類文件的包名稱“com.loadrunner.test” 結(jié)構(gòu)“com\loadrunner\test”,下面可以看到編譯后的class文件。啟動(dòng)VuGen,先創(chuàng)建空的虛擬用戶 下,如圖7-20所示。圖7-20虛擬用 結(jié) ,以調(diào)用Test類中的Test()方法。修改后的如圖7-21所示。在Eclipse中運(yùn)行WorkServer.java,啟動(dòng)WorkServer服務(wù)器后才可以調(diào)試 uGen中運(yùn)行 ,如果在運(yùn)行結(jié)果Log中看到“FinishworkNo.*”,則表示 確,可以成功申請(qǐng)并處理任務(wù)。圖7-22所示為成功申請(qǐng)并處理了1號(hào)任務(wù)。7-

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論