版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
高級(jí)性能測(cè)試經(jīng)典學(xué)習(xí)文檔第1頁(yè),共171頁(yè),2023年,2月20日,星期四2課程內(nèi)容介紹測(cè)試策略制定測(cè)試結(jié)果指標(biāo)分析測(cè)試典型案例分析測(cè)試技術(shù)討論測(cè)試工具的使用技巧第2頁(yè),共171頁(yè),2023年,2月20日,星期四3測(cè)試策略制定概念測(cè)試計(jì)劃測(cè)試流程包括哪些步驟測(cè)試要達(dá)到什么目的選擇什么協(xié)議進(jìn)行測(cè)試如何編寫(xiě)一個(gè)完整的測(cè)試方案測(cè)試指標(biāo)包括哪些內(nèi)容自動(dòng)化負(fù)載壓力測(cè)試策略第3頁(yè),共171頁(yè),2023年,2月20日,星期四4測(cè)試結(jié)果指標(biāo)分析客戶端負(fù)載壓力指標(biāo)服務(wù)器資源使用指標(biāo)網(wǎng)絡(luò)監(jiān)控指標(biāo)第4頁(yè),共171頁(yè),2023年,2月20日,星期四5測(cè)試典型案例分析系統(tǒng)故障定位與分析數(shù)據(jù)庫(kù)服務(wù)器典型性能調(diào)優(yōu)與評(píng)估Oracle數(shù)據(jù)庫(kù)性能調(diào)優(yōu)案例測(cè)試經(jīng)驗(yàn)交流第5頁(yè),共171頁(yè),2023年,2月20日,星期四6測(cè)試工具的使用技巧負(fù)載壓力測(cè)試工具:LoadRunner8.0功能回歸測(cè)試工具:WinRunner7.6測(cè)試管理工具:TestDirector8.0第6頁(yè),共171頁(yè),2023年,2月20日,星期四7性能測(cè)試
系統(tǒng)的性能是一個(gè)很大的概念,覆蓋面非常廣泛,對(duì)一個(gè)軟件系統(tǒng)而言包括執(zhí)行效率、資源占用、穩(wěn)定性、安全性、兼容性、可擴(kuò)展性、可靠性等等,我們這里重點(diǎn)討論的負(fù)載壓力是系統(tǒng)性能的一個(gè)重要方面。性能測(cè)試用來(lái)保證產(chǎn)品發(fā)布后系統(tǒng)的性能滿足用戶需求。性能測(cè)試在軟件質(zhì)量保證中起重要作用。第7頁(yè),共171頁(yè),2023年,2月20日,星期四8負(fù)載測(cè)試負(fù)載測(cè)試是確定在各種工作負(fù)載下系統(tǒng)的性能,目標(biāo)是測(cè)試當(dāng)負(fù)載逐漸增加時(shí),系統(tǒng)組成部分的相應(yīng)輸出項(xiàng),例如通過(guò)量、響應(yīng)時(shí)間、CPU負(fù)載、內(nèi)存使用等如何決定系統(tǒng)的性能,例如穩(wěn)定性和響應(yīng)等。負(fù)載測(cè)試通常描述一種特定類型的壓力測(cè)試,即增加用戶數(shù)量以對(duì)應(yīng)用程序進(jìn)行壓力測(cè)試。第8頁(yè),共171頁(yè),2023年,2月20日,星期四9壓力測(cè)試
壓力測(cè)試通過(guò)確定一個(gè)系統(tǒng)的瓶頸或者不能接收的性能點(diǎn),來(lái)獲得系統(tǒng)能提供的最大的服務(wù)級(jí)別的測(cè)試。通俗地講,壓力測(cè)試是為了發(fā)現(xiàn)在什么條件下您的應(yīng)用程序的性能會(huì)變得不可接受。第9頁(yè),共171頁(yè),2023年,2月20日,星期四10負(fù)載壓力測(cè)試負(fù)載壓力測(cè)試是性能測(cè)試的重要組成部分,負(fù)載壓力測(cè)試包括:并發(fā)性能測(cè)試(重點(diǎn))疲勞強(qiáng)度測(cè)試大數(shù)據(jù)量測(cè)試
第10頁(yè),共171頁(yè),2023年,2月20日,星期四11負(fù)載壓力測(cè)試第11頁(yè),共171頁(yè),2023年,2月20日,星期四12負(fù)載壓力測(cè)試并發(fā)性能測(cè)試考察客戶端應(yīng)用的性能,測(cè)試的入口是客戶端并發(fā)性能測(cè)試的過(guò)程,是一個(gè)負(fù)載測(cè)試和壓力測(cè)試的過(guò)程。即逐漸增加并發(fā)虛擬用戶數(shù)負(fù)載,直到系統(tǒng)的瓶頸或者不能接收的性能點(diǎn),通過(guò)綜合分析交易執(zhí)行指標(biāo)、資源監(jiān)控指標(biāo)等來(lái)確定系統(tǒng)并發(fā)性能的過(guò)程。并發(fā)性能測(cè)試是負(fù)載壓力測(cè)試中的重要內(nèi)容。
第12頁(yè),共171頁(yè),2023年,2月20日,星期四13負(fù)載壓力測(cè)試疲勞強(qiáng)度測(cè)試
通常是采用系統(tǒng)穩(wěn)定運(yùn)行情況下能夠支持的最大并發(fā)用戶數(shù)或者日常運(yùn)行用戶數(shù),持續(xù)執(zhí)行一段時(shí)間業(yè)務(wù),通過(guò)綜合分析交易執(zhí)行指標(biāo)和資源監(jiān)控指標(biāo)來(lái)確定系統(tǒng)處理最大工作量強(qiáng)度性能的過(guò)程。疲勞強(qiáng)度測(cè)試案例制定的原則是保證系統(tǒng)長(zhǎng)期不間斷運(yùn)行的業(yè)務(wù)量,并且應(yīng)該盡量去滿足該條件。
第13頁(yè),共171頁(yè),2023年,2月20日,星期四14負(fù)載壓力測(cè)試大數(shù)據(jù)量測(cè)試大數(shù)據(jù)量測(cè)試的兩種類型
獨(dú)立的數(shù)據(jù)量測(cè)試
針對(duì)某些系統(tǒng)存儲(chǔ)、傳輸、統(tǒng)計(jì)、查詢等業(yè)務(wù)進(jìn)行大數(shù)據(jù)量測(cè)試綜合數(shù)據(jù)量測(cè)試和壓力性能測(cè)試、負(fù)載性能測(cè)試、并發(fā)性能測(cè)試、疲勞性能測(cè)試相結(jié)合的綜合測(cè)試方案
第14頁(yè),共171頁(yè),2023年,2月20日,星期四15測(cè)試計(jì)劃分析應(yīng)用程序定義測(cè)試目標(biāo)計(jì)劃方案實(shí)施檢查測(cè)試目標(biāo)
第15頁(yè),共171頁(yè),2023年,2月20日,星期四16制定測(cè)試計(jì)劃的目的構(gòu)建能夠精確地模擬您的工作環(huán)境的測(cè)試方案。了解測(cè)試需要的資源。以可度量的指標(biāo)定義測(cè)試成功條件。第16頁(yè),共171頁(yè),2023年,2月20日,星期四17分析應(yīng)用程序確定系統(tǒng)組件描述系統(tǒng)配置分析使用模型任務(wù)分布第17頁(yè),共171頁(yè),2023年,2月20日,星期四18確定系統(tǒng)組件客戶機(jī)、網(wǎng)絡(luò)、中間件和服務(wù)器第18頁(yè),共171頁(yè),2023年,2月20日,星期四19描述系統(tǒng)配置連接到系統(tǒng)的用戶數(shù)應(yīng)用程序客戶端計(jì)算機(jī)的配置情況(硬件、內(nèi)存、操作系統(tǒng)、軟件、開(kāi)發(fā)工具等)使用的數(shù)據(jù)庫(kù)和Web服務(wù)器的類型(硬件、數(shù)據(jù)庫(kù)類型、操作系統(tǒng)、文件服務(wù)器等)服務(wù)器與應(yīng)用程序客戶端之間的通信方式前端客戶端與后端服務(wù)器之間的中間件配置和應(yīng)用程序服務(wù)器可能影響響應(yīng)時(shí)間的其他網(wǎng)絡(luò)組件(調(diào)制解調(diào)器等)第19頁(yè),共171頁(yè),2023年,2月20日,星期四20分析使用模型考慮哪些用戶使用系統(tǒng)每種類型用戶的數(shù)量每個(gè)用戶的典型任務(wù)第20頁(yè),共171頁(yè),2023年,2月20日,星期四21任務(wù)分布確定數(shù)據(jù)庫(kù)活動(dòng)峰值期的發(fā)生時(shí)間負(fù)載峰值期間的典型活動(dòng)第21頁(yè),共171頁(yè),2023年,2月20日,星期四22定義測(cè)試目標(biāo)第22頁(yè),共171頁(yè),2023年,2月20日,星期四23定義測(cè)試目標(biāo)以可度量的指標(biāo)制定目標(biāo)確定測(cè)試的時(shí)間
第23頁(yè),共171頁(yè),2023年,2月20日,星期四24確定測(cè)試的時(shí)間第24頁(yè),共171頁(yè),2023年,2月20日,星期四25計(jì)劃方案實(shí)施定義性能度量的范圍定義Vuser活動(dòng)選擇Vuser選擇測(cè)試硬件和軟件第25頁(yè),共171頁(yè),2023年,2月20日,星期四26定義性能度量的范圍度量應(yīng)用程序中不同點(diǎn)的響應(yīng)時(shí)間。根據(jù)測(cè)試目標(biāo)確定在哪里運(yùn)行虛擬用戶運(yùn)行哪些虛擬用戶第26頁(yè),共171頁(yè),2023年,2月20日,星期四27應(yīng)用程序中不同點(diǎn)的響應(yīng)時(shí)間度量端到端的響應(yīng)時(shí)間:第27頁(yè),共171頁(yè),2023年,2月20日,星期四28應(yīng)用程序中不同點(diǎn)的響應(yīng)時(shí)間度量網(wǎng)絡(luò)和服務(wù)器響應(yīng)時(shí)間:第28頁(yè),共171頁(yè),2023年,2月20日,星期四29應(yīng)用程序中不同點(diǎn)的響應(yīng)時(shí)間度量GUI響應(yīng)時(shí)間:GUI響應(yīng)時(shí)間=端到端響應(yīng)時(shí)間-網(wǎng)絡(luò)和服務(wù)器響應(yīng)時(shí)間第29頁(yè),共171頁(yè),2023年,2月20日,星期四30應(yīng)用程序中不同點(diǎn)的響應(yīng)時(shí)間度量服務(wù)器響應(yīng)時(shí)間:第30頁(yè),共171頁(yè),2023年,2月20日,星期四31應(yīng)用程序中不同點(diǎn)的響應(yīng)時(shí)間度量中間件到服務(wù)器的響應(yīng)時(shí)間:第31頁(yè),共171頁(yè),2023年,2月20日,星期四32選擇Vuser第32頁(yè),共171頁(yè),2023年,2月20日,星期四33選擇測(cè)試硬件和軟件硬件和軟件應(yīng)該具有強(qiáng)大的性能和足夠快的運(yùn)行速度,以模擬所需數(shù)量的虛擬用戶。第33頁(yè),共171頁(yè),2023年,2月20日,星期四34檢查測(cè)試目標(biāo)度量最終用戶響應(yīng)時(shí)間定義最優(yōu)的硬件配置檢查可靠性確定瓶頸度量系統(tǒng)容量第34頁(yè),共171頁(yè),2023年,2月20日,星期四35定義最優(yōu)的硬件配置舉例例如,您可以設(shè)置三種不同的服務(wù)器配置,并針對(duì)各個(gè)配置運(yùn)行相同的測(cè)試,以確定性能上的差異:.配置1:200MHz、64MBRAM.配置2:200MHz、128MBRAM.配置3:266MHz、128MBRAM第35頁(yè),共171頁(yè),2023年,2月20日,星期四36檢查可靠性舉例確定系統(tǒng)在連續(xù)的高工作負(fù)載下的穩(wěn)定性級(jí)別。強(qiáng)制系統(tǒng)在短時(shí)間內(nèi)處理大量任務(wù),以模擬系統(tǒng)在數(shù)周或數(shù)月的時(shí)間內(nèi)通常會(huì)遇到的活動(dòng)類型。第36頁(yè),共171頁(yè),2023年,2月20日,星期四37確定瓶頸舉例您可以運(yùn)行測(cè)試以確定系統(tǒng)的瓶頸,并確定哪些因素導(dǎo)致性能下降,例如,文件鎖定、資源爭(zhēng)用和網(wǎng)絡(luò)過(guò)載。第37頁(yè),共171頁(yè),2023年,2月20日,星期四38度量系統(tǒng)容量舉例查看現(xiàn)有系統(tǒng)中性能與負(fù)載間的關(guān)系,并確定出現(xiàn)響應(yīng)時(shí)間顯著延長(zhǎng)的位置“拐點(diǎn)”??梢源_定是否需要增加資源以支持額外的用戶。第38頁(yè),共171頁(yè),2023年,2月20日,星期四39測(cè)試流程步驟測(cè)試需求分析
測(cè)試案例制定
測(cè)試環(huán)境、工具、數(shù)據(jù)準(zhǔn)備
測(cè)試腳本錄制、編寫(xiě)與調(diào)試負(fù)載壓力場(chǎng)景制定測(cè)試執(zhí)行結(jié)果分析與定位問(wèn)題測(cè)試報(bào)告與測(cè)試評(píng)估
第39頁(yè),共171頁(yè),2023年,2月20日,星期四40測(cè)試目的在真實(shí)環(huán)境下檢測(cè)系統(tǒng)性能,評(píng)估系統(tǒng)性能以及服務(wù)等級(jí)的滿足情況預(yù)見(jiàn)系統(tǒng)負(fù)載壓力承受力,在應(yīng)用實(shí)際部署之前,評(píng)估系統(tǒng)性能幫助軟件廠商或用戶分析系統(tǒng)瓶頸、優(yōu)化系統(tǒng)第40頁(yè),共171頁(yè),2023年,2月20日,星期四41測(cè)試目的實(shí)現(xiàn)目的的測(cè)試方法:性能檢測(cè)性能調(diào)優(yōu)
第41頁(yè),共171頁(yè),2023年,2月20日,星期四42性能檢測(cè)在真實(shí)生產(chǎn)環(huán)境下,檢測(cè)系統(tǒng)性能,評(píng)估并報(bào)告整個(gè)系統(tǒng)的性能和健壯情況檢查服務(wù)等級(jí)的滿足情況對(duì)系統(tǒng)的未來(lái)容量作出預(yù)測(cè)和規(guī)劃
第42頁(yè),共171頁(yè),2023年,2月20日,星期四43性能調(diào)優(yōu)查找系統(tǒng)瓶頸的根本原因評(píng)估性能調(diào)整的效果在測(cè)試環(huán)境下再現(xiàn)性能問(wèn)題
第43頁(yè),共171頁(yè),2023年,2月20日,星期四44選擇測(cè)試協(xié)議客戶端與直接壓力承受的服務(wù)器之間的通訊協(xié)議是選擇測(cè)試協(xié)議的唯一標(biāo)準(zhǔn)
第44頁(yè),共171頁(yè),2023年,2月20日,星期四45測(cè)試協(xié)議?Client/Server:MSSQL,ODBC,Oracle(2-tier),DB2CLI,SybaseCtlib,SybaseDblib,infomix,WindowsSockets及DNS?定制:Ctemplates,VisualBasictemplates,Javatemplates,Javascript及
VBscript.?分布式組件:COM/DCOM,Corba-Java,及Rmi-Java.?E-business:FTP,LDAP,Palm,SOAP,Web(HTTP/HTML),及thedualWeb/Winsocket.?EnterpriseJavaBeans:EJBTesting及Rmi-Java.?Legacy:TerminalEmulation(RTE).?MailingServices:InternetMessaging(IMAP),MSExchange(MAPI),POP3,及SMTP.?Middleware:Jacada及Tuxedo(6,7).?Streaming:MediaPlayer及RealPlayer.?Wireless:i-Mode,VoiceXML,及WAP第45頁(yè),共171頁(yè),2023年,2月20日,星期四46編寫(xiě)一個(gè)完整的測(cè)試方案
應(yīng)用在客戶端性能的測(cè)試應(yīng)用在網(wǎng)絡(luò)上性能的測(cè)試應(yīng)用在服務(wù)器上性能的測(cè)試一個(gè)測(cè)試方案的例子一個(gè)測(cè)試計(jì)劃的例子第46頁(yè),共171頁(yè),2023年,2月20日,星期四47測(cè)試指標(biāo)客戶端交易處理性能指標(biāo)服務(wù)器資源監(jiān)控,例如:UNIX數(shù)據(jù)庫(kù)資源監(jiān)控,例如:OracleWeb服務(wù)器監(jiān)控,例如:Apache中間件監(jiān)控,例如:TUXEDO等等第47頁(yè),共171頁(yè),2023年,2月20日,星期四48自動(dòng)化負(fù)載壓力測(cè)試?yán)没蜷_(kāi)發(fā)負(fù)載壓力測(cè)試的自動(dòng)化測(cè)試方法,包括:程序、工具、流程等等。第48頁(yè),共171頁(yè),2023年,2月20日,星期四49自動(dòng)化負(fù)載壓力測(cè)試優(yōu)勢(shì)自動(dòng)化測(cè)試優(yōu)勢(shì)分析快速比手工操作絕對(duì)快可靠每一次運(yùn)行精確地執(zhí)行相同的操作,可以排除手工操作錯(cuò)誤可重復(fù)測(cè)試相同操作重復(fù)執(zhí)行時(shí)軟件如何響應(yīng)可編程的可以編程實(shí)現(xiàn)得到應(yīng)用系統(tǒng)隱藏信息的復(fù)雜測(cè)試綜合測(cè)試可以實(shí)現(xiàn)覆蓋應(yīng)用系統(tǒng)每個(gè)特征的一套綜合測(cè)試方案可重用的針對(duì)應(yīng)用系統(tǒng)的不同版本,測(cè)試腳本可重復(fù)使用,即使用戶界面發(fā)生變化第49頁(yè),共171頁(yè),2023年,2月20日,星期四50選擇自動(dòng)化負(fù)載壓力測(cè)試方法利用自動(dòng)化負(fù)載壓力測(cè)試工具開(kāi)放資源(OpenSource)測(cè)試自主開(kāi)發(fā)代碼測(cè)試
第50頁(yè),共171頁(yè),2023年,2月20日,星期四51自動(dòng)化負(fù)載壓力測(cè)試概念通過(guò)在一臺(tái)或幾臺(tái)PC機(jī)上模擬成百或上千的虛擬用戶同時(shí)執(zhí)行業(yè)務(wù)的情景,對(duì)應(yīng)用程序進(jìn)行測(cè)試,通過(guò)可重復(fù)的、真實(shí)的測(cè)試能夠徹底地度量應(yīng)用的性能,確定問(wèn)題所在。工程項(xiàng)目實(shí)踐證明,其測(cè)試結(jié)果與實(shí)際情況完全符合。第51頁(yè),共171頁(yè),2023年,2月20日,星期四52自動(dòng)化負(fù)載壓力測(cè)試實(shí)現(xiàn)機(jī)制自動(dòng)負(fù)載測(cè)試第52頁(yè),共171頁(yè),2023年,2月20日,星期四53自動(dòng)化負(fù)載壓力測(cè)試工具LoadRunner-美國(guó)MercuryInteractive公司QALoad-美國(guó)Compuware(康博)公司RationalRobot-美國(guó)IBM公司SILKPERFORMERV-美國(guó)Segue公司BenchmarkFactory-美國(guó)Quest軟件公司W(wǎng)AS-美國(guó)Mcrosoft公司第53頁(yè),共171頁(yè),2023年,2月20日,星期四54自動(dòng)化負(fù)載壓力測(cè)試工具自動(dòng)化負(fù)載壓力測(cè)試工具對(duì)比第54頁(yè),共171頁(yè),2023年,2月20日,星期四55自動(dòng)化負(fù)載壓力測(cè)試工具選擇依據(jù)模擬您的客戶機(jī)運(yùn)行多個(gè)模擬的客戶機(jī)腳本化執(zhí)行并能編輯腳本支持會(huì)話可配置的用戶數(shù)量報(bào)告成功、錯(cuò)誤和失敗第55頁(yè),共171頁(yè),2023年,2月20日,星期四56自動(dòng)化負(fù)載壓力測(cè)試工具缺陷缺乏功能點(diǎn)的校驗(yàn)對(duì)有些控件支持得不好不能達(dá)到真實(shí)模擬負(fù)載腳本的支持不夠靈活報(bào)錯(cuò)定位不夠詳細(xì)第56頁(yè),共171頁(yè),2023年,2月20日,星期四57自動(dòng)化負(fù)載壓力測(cè)試工具盲點(diǎn)在負(fù)載測(cè)試中,不進(jìn)行功能校驗(yàn),就是當(dāng)功能錯(cuò)誤發(fā)生時(shí),測(cè)試工具不能夠記錄產(chǎn)生的功能性錯(cuò)誤,這就忽略了負(fù)載壓力情況下的功能不穩(wěn)定問(wèn)題。在負(fù)載壓力測(cè)試過(guò)程中記錄所有虛擬用戶的操作及服務(wù)器的響應(yīng)是當(dāng)前負(fù)載壓力測(cè)試技術(shù)發(fā)展的最大挑戰(zhàn)。但測(cè)試過(guò)程中的附加記錄會(huì)導(dǎo)致資源消耗、操作行為增加以及產(chǎn)生大量日志等問(wèn)題。
第57頁(yè),共171頁(yè),2023年,2月20日,星期四58開(kāi)放資源(OpenSource)測(cè)試
開(kāi)放系統(tǒng)測(cè)試體系-OpenSTA/)
TestMaker(/)
ApacheJMeter(/jmeter/)
第58頁(yè),共171頁(yè),2023年,2月20日,星期四59開(kāi)發(fā)測(cè)試工具舉例Web服務(wù)器通用性能測(cè)試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)實(shí)際系統(tǒng)由四部分組成:模板文件數(shù)據(jù)文件性能測(cè)試程序結(jié)果處理程序第59頁(yè),共171頁(yè),2023年,2月20日,星期四60開(kāi)發(fā)測(cè)試工具舉例系統(tǒng)結(jié)構(gòu)示意圖第60頁(yè),共171頁(yè),2023年,2月20日,星期四61開(kāi)發(fā)測(cè)試工具舉例主流程圖第61頁(yè),共171頁(yè),2023年,2月20日,星期四62開(kāi)發(fā)測(cè)試工具舉例通用應(yīng)用系統(tǒng)性能評(píng)測(cè)環(huán)境設(shè)計(jì)第62頁(yè),共171頁(yè),2023年,2月20日,星期四63開(kāi)發(fā)測(cè)試工具舉例通用應(yīng)用系統(tǒng)性能評(píng)測(cè)環(huán)境設(shè)計(jì)第63頁(yè),共171頁(yè),2023年,2月20日,星期四64開(kāi)發(fā)測(cè)試工具舉例通用應(yīng)用系統(tǒng)性能評(píng)測(cè)環(huán)境設(shè)計(jì)接口名稱功能接口函數(shù)原型(C語(yǔ)言描述)事務(wù)處理邏輯類型此接口提供應(yīng)用系統(tǒng)相關(guān)的事務(wù)類型ID,通常情況下應(yīng)用系統(tǒng)由多種事務(wù)組成,評(píng)測(cè)系統(tǒng)應(yīng)該能夠區(qū)分它們IntPerf_GetTransactionID(void);接口初始化初始化應(yīng)用系統(tǒng)。諸如創(chuàng)建數(shù)據(jù)庫(kù)連接等操作在此接口中進(jìn)行intPerf_InitLib(void);執(zhí)行事務(wù)處理實(shí)際事務(wù)處理接口,事務(wù)執(zhí)行的起止時(shí)間和執(zhí)行狀態(tài)在此記錄intPerf_DoTransaction(void*pBuffer,intnBufferSize);接口資源釋放釋放應(yīng)用系統(tǒng)資源。諸如關(guān)閉數(shù)據(jù)庫(kù)連接等操作在此函數(shù)intPerf_FreeLib(void);第64頁(yè),共171頁(yè),2023年,2月20日,星期四65開(kāi)發(fā)測(cè)試工具舉例通用應(yīng)用系統(tǒng)性能評(píng)測(cè)環(huán)境設(shè)計(jì)操作系統(tǒng)開(kāi)發(fā)環(huán)境Win32(WindowsNT4/2000/XP)VisualC++6.0SP5SUNSolaris8(x86)ForteC++6Update2Linux(x86kernel2.4.7glibc2.2.4)KDevelop2.0第65頁(yè),共171頁(yè),2023年,2月20日,星期四66測(cè)試結(jié)果指標(biāo)分析客戶端負(fù)載壓力指標(biāo)為了完成一個(gè)任務(wù),用戶對(duì)應(yīng)用程序執(zhí)行的一組操作,例如登陸一個(gè)Web站點(diǎn)、搜索一個(gè)飛機(jī)票信息、在網(wǎng)上買(mǎi)一本書(shū)等等。虛擬并發(fā)用戶數(shù)(TotalVirtualUsers)交易響應(yīng)時(shí)間(ResponseTime)每分鐘交易數(shù)(TransRate)吞吐量圖(ThroughOut)第66頁(yè),共171頁(yè),2023年,2月20日,星期四67測(cè)試結(jié)果指標(biāo)分析客戶端負(fù)載壓力指標(biāo)-交易處理指標(biāo).平均事務(wù)響應(yīng)時(shí)間圖.每秒事務(wù)數(shù)圖.每秒事務(wù)總數(shù).事務(wù)摘要圖.事務(wù)性能摘要圖.事務(wù)響應(yīng)時(shí)間(負(fù)載下)圖.事務(wù)響應(yīng)時(shí)間(百分比)圖.事務(wù)響應(yīng)時(shí)間(分布)圖第67頁(yè),共171頁(yè),2023年,2月20日,星期四68測(cè)試結(jié)果指標(biāo)分析客戶端負(fù)載壓力指標(biāo)-Web請(qǐng)求指標(biāo).每秒點(diǎn)擊次數(shù)圖.點(diǎn)擊次數(shù)摘要圖.吞吐量圖.吞吐量摘要圖.HTTP狀態(tài)代碼摘要圖.每秒HTTP響應(yīng)數(shù)圖.每秒下載頁(yè)面數(shù)圖.每秒重試次數(shù)圖.重試次數(shù)摘要圖.連接數(shù)圖.每秒連接數(shù)圖.每秒SSL連接數(shù)圖第68頁(yè),共171頁(yè),2023年,2月20日,星期四69測(cè)試結(jié)果指標(biāo)分析客戶端負(fù)載壓力指標(biāo)-Web頁(yè)面組件指標(biāo).激活網(wǎng)頁(yè)細(xì)分圖.頁(yè)面組件細(xì)分圖.頁(yè)面組件細(xì)分(隨時(shí)間變化)圖.頁(yè)面下載時(shí)間細(xì)分圖.頁(yè)面下載時(shí)間細(xì)分(隨時(shí)間變化)圖.第一次緩沖細(xì)分時(shí)間圖.第一次緩沖時(shí)間細(xì)分(隨時(shí)間變化)圖.已下載組件大小圖第69頁(yè),共171頁(yè),2023年,2月20日,星期四70測(cè)試結(jié)果指標(biāo)分析服務(wù)器資源使用指標(biāo)-UNIX第70頁(yè),共171頁(yè),2023年,2月20日,星期四71測(cè)試結(jié)果指標(biāo)分析服務(wù)器資源使用指標(biāo)-Windows2000Server第71頁(yè),共171頁(yè),2023年,2月20日,星期四72測(cè)試結(jié)果指標(biāo)分析服務(wù)器資源使用指標(biāo)-Windows2000Server(續(xù))第72頁(yè),共171頁(yè),2023年,2月20日,星期四73測(cè)試結(jié)果指標(biāo)分析服務(wù)器資源使用指標(biāo)-Windows2000Server(續(xù))看一個(gè)例子第73頁(yè),共171頁(yè),2023年,2月20日,星期四74測(cè)試結(jié)果指標(biāo)分析服務(wù)器資源使用指標(biāo)-數(shù)據(jù)庫(kù)SQLServer第74頁(yè),共171頁(yè),2023年,2月20日,星期四75測(cè)試結(jié)果指標(biāo)分析服務(wù)器資源使用指標(biāo)-中間件Tuxedo第75頁(yè),共171頁(yè),2023年,2月20日,星期四76測(cè)試結(jié)果指標(biāo)分析網(wǎng)絡(luò)監(jiān)控指標(biāo):吞吐量容量(信道容量或帶寬)利用率最優(yōu)利用率可提供負(fù)載有效率延遲延遲變化量響應(yīng)時(shí)間第76頁(yè),共171頁(yè),2023年,2月20日,星期四77測(cè)試典型案例分析系統(tǒng)故障定位與分析最難的問(wèn)題第77頁(yè),共171頁(yè),2023年,2月20日,星期四78系統(tǒng)瓶頸分析舉例經(jīng)驗(yàn)舉例1交易的響應(yīng)時(shí)間如果很長(zhǎng),遠(yuǎn)遠(yuǎn)超過(guò)系統(tǒng)性能需求,表示耗費(fèi)CPU的數(shù)據(jù)庫(kù)操作,例如排序,執(zhí)行aggregatefunctions(例如sum、min、max、count)等較多,可考慮是否有索引以及索引建立的是否合理;盡量使用簡(jiǎn)單的表聯(lián)接;水平分割大表格等方法來(lái)降低該值。第78頁(yè),共171頁(yè),2023年,2月20日,星期四79系統(tǒng)瓶頸分析舉例經(jīng)驗(yàn)舉例2分段排除錯(cuò)誤。測(cè)試工具可以模擬不同的虛擬用戶來(lái)單獨(dú)訪問(wèn)Web服務(wù)器、應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器,這樣,就可以在Web端測(cè)出的響應(yīng)時(shí)間減去以上各個(gè)分段測(cè)出的時(shí)間就可以知道瓶頸在哪并著手調(diào)優(yōu)。第79頁(yè),共171頁(yè),2023年,2月20日,星期四80系統(tǒng)瓶頸分析舉例經(jīng)驗(yàn)舉例3UNIX資源監(jiān)控(NT操作系統(tǒng)同理)中指標(biāo)內(nèi)存頁(yè)交換速率(Pagingrate),如果該值偶爾走高,表明當(dāng)時(shí)有線程競(jìng)爭(zhēng)內(nèi)存。如果持續(xù)很高,則內(nèi)存可能是瓶頸。也可能是內(nèi)存訪問(wèn)命中率低。“Swapinrate”和“Swapoutrate”也有類似的解釋。第80頁(yè),共171頁(yè),2023年,2月20日,星期四81系統(tǒng)瓶頸分析舉例經(jīng)驗(yàn)舉例4UNIX資源監(jiān)控(NT操作系統(tǒng)同理)中指標(biāo)CPU占用率(CPUutilization),如果該值持續(xù)超過(guò)95%,表明瓶頸是CPU??梢钥紤]增加一個(gè)處理器或換一個(gè)更快的處理器。合理使用的范圍在60%至70%。第81頁(yè),共171頁(yè),2023年,2月20日,星期四82系統(tǒng)瓶頸分析舉例經(jīng)驗(yàn)舉例5UNIX資源監(jiān)控(NT操作系統(tǒng)同理)中指標(biāo)磁盤(pán)交換率(Diskrate),如果該參數(shù)值一直很高,表明I/O有問(wèn)題??煽紤]更換更快的硬盤(pán)系統(tǒng)、重新部署業(yè)務(wù)邏輯等,另外設(shè)置TempdbinRAM,減低"maxasyncIO","maxlazywriterIO"等措施都會(huì)降低該值。第82頁(yè),共171頁(yè),2023年,2月20日,星期四83系統(tǒng)瓶頸分析舉例經(jīng)驗(yàn)舉例6Tuxedo資源監(jiān)控中指標(biāo)隊(duì)列中的字節(jié)數(shù)(Bytesonqueue),隊(duì)列長(zhǎng)度應(yīng)不超過(guò)磁盤(pán)數(shù)的1.5~2倍。要提高性能,可增加磁盤(pán)。注意:一個(gè)RaidDisk實(shí)際有多個(gè)磁盤(pán)。第83頁(yè),共171頁(yè),2023年,2月20日,星期四84系統(tǒng)瓶頸分析舉例經(jīng)驗(yàn)舉例7SQLServer資源監(jiān)控中指標(biāo)緩存點(diǎn)擊率(CacheHitRatio),該值越高越好。如果持續(xù)低于80%,應(yīng)考慮增加內(nèi)存。注意該參數(shù)值是從SQLServer啟動(dòng)后,就一直累加記數(shù),所以運(yùn)行經(jīng)過(guò)一段時(shí)間后,該值將不能反映系統(tǒng)當(dāng)前值。第84頁(yè),共171頁(yè),2023年,2月20日,星期四85優(yōu)化調(diào)整設(shè)置
CPU問(wèn)題:考慮使用更高級(jí)的CPU代替目前的CPU對(duì)于多CPU,考慮CPU之間的負(fù)載分配考慮在其它體系上設(shè)計(jì)系統(tǒng),例如增加前置機(jī)、設(shè)置并行服務(wù)器等。第85頁(yè),共171頁(yè),2023年,2月20日,星期四86優(yōu)化調(diào)整設(shè)置
內(nèi)存和高速緩存內(nèi)存的優(yōu)化包括操作系統(tǒng)、數(shù)據(jù)庫(kù)、應(yīng)用程序的內(nèi)存優(yōu)化。過(guò)多的分頁(yè)與交換可能降低系統(tǒng)的性能內(nèi)存分配也是影響系統(tǒng)性能的主要原因保證保留列表具有較大的鄰接內(nèi)存塊調(diào)整數(shù)據(jù)塊緩沖區(qū)大?。ㄓ脭?shù)據(jù)塊的個(gè)數(shù)表示)是一個(gè)重要內(nèi)容將最頻繁使用的數(shù)據(jù)保存在存儲(chǔ)區(qū)中第86頁(yè),共171頁(yè),2023年,2月20日,星期四87優(yōu)化調(diào)整設(shè)置
磁盤(pán)(I/O)資源問(wèn)題磁盤(pán)讀寫(xiě)進(jìn)度對(duì)數(shù)據(jù)庫(kù)系統(tǒng)是至關(guān)重要的,數(shù)據(jù)庫(kù)對(duì)象在物理設(shè)備上的合理分布能改善性能磁盤(pán)鏡像會(huì)減慢磁盤(pán)寫(xiě)的速度通過(guò)把日志和數(shù)據(jù)庫(kù)對(duì)象分布在獨(dú)立的設(shè)備上可以提高系統(tǒng)的性能把不同的數(shù)據(jù)庫(kù)放在不同的硬盤(pán)上,可以提高讀寫(xiě)速度。經(jīng)常把數(shù)據(jù)庫(kù)、回滾段、日志放在不同的設(shè)備上把表放在一塊硬盤(pán)上,把非簇的索引放在另一塊硬盤(pán)上,保證物理讀寫(xiě)更快第87頁(yè),共171頁(yè),2023年,2月20日,星期四88優(yōu)化調(diào)整設(shè)置
調(diào)整配置參數(shù)包括操作系統(tǒng)和數(shù)據(jù)庫(kù)的參數(shù)配置并行操作資源限制的參數(shù)(并發(fā)用戶的數(shù)目、會(huì)話數(shù))影響資源開(kāi)銷的參數(shù)與I/O有關(guān)的參數(shù)第88頁(yè),共171頁(yè),2023年,2月20日,星期四89優(yōu)化調(diào)整設(shè)置
優(yōu)化應(yīng)用系統(tǒng)網(wǎng)絡(luò)設(shè)置可以通過(guò)數(shù)組接口來(lái)減少網(wǎng)絡(luò)呼叫。不是一次提取一行,而是在單個(gè)往來(lái)往返中提取10行,這樣做效率較高調(diào)整會(huì)話數(shù)據(jù)單元的緩沖區(qū)大小共享服務(wù)進(jìn)程比專用服務(wù)進(jìn)程提供較好的性能第89頁(yè),共171頁(yè),2023年,2月20日,星期四90故障定位與分析
一個(gè)測(cè)試實(shí)例第90頁(yè),共171頁(yè),2023年,2月20日,星期四91測(cè)試典型案例分析
數(shù)據(jù)庫(kù)服務(wù)器典型性能調(diào)優(yōu)與評(píng)估第91頁(yè),共171頁(yè),2023年,2月20日,星期四92數(shù)據(jù)庫(kù)服務(wù)器典型性能問(wèn)題數(shù)據(jù)庫(kù)服務(wù)器性能問(wèn)題及原因分析
單一類型事務(wù)響應(yīng)時(shí)間過(guò)長(zhǎng)
數(shù)據(jù)庫(kù)服務(wù)器負(fù)載
糟糕的數(shù)據(jù)庫(kù)設(shè)計(jì)
事務(wù)粒度過(guò)大
批任務(wù)對(duì)普通用戶性能的影響
并發(fā)處理能力差
鎖沖突嚴(yán)重
資源鎖定造成的數(shù)據(jù)庫(kù)事務(wù)超時(shí)
數(shù)據(jù)庫(kù)死鎖
第92頁(yè),共171頁(yè),2023年,2月20日,星期四93數(shù)據(jù)庫(kù)服務(wù)器典型性能問(wèn)題數(shù)據(jù)庫(kù)性能問(wèn)題的一般解決辦法
監(jiān)視性能相關(guān)數(shù)據(jù);定位資源占用較大的事務(wù)并做出必要的優(yōu)化或調(diào)整;定位鎖沖突,修改鎖沖突發(fā)生嚴(yán)重的應(yīng)用邏輯;對(duì)規(guī)模較大的數(shù)據(jù)或者無(wú)法通過(guò)一般優(yōu)化解決的鎖沖突進(jìn)行分布。第93頁(yè),共171頁(yè),2023年,2月20日,星期四94Oracle與提高性能有關(guān)的特性
索引并行執(zhí)行簇與散列簇分區(qū)多線程服務(wù)器同時(shí)讀取多塊數(shù)據(jù)
第94頁(yè),共171頁(yè),2023年,2月20日,星期四95Oracle配置的關(guān)鍵參數(shù)
MAX_DSPATCHERS:這個(gè)參數(shù)指定了系統(tǒng)允許同時(shí)進(jìn)行的調(diào)度進(jìn)程的最大數(shù)量。MAX_SHARED_SERVERS:這個(gè)參數(shù)指定了系統(tǒng)允許同時(shí)進(jìn)行的共享服務(wù)器進(jìn)程的最大數(shù)量。如果系統(tǒng)中出現(xiàn)的人為死鎖過(guò)于頻繁,那么管理員應(yīng)該增大這個(gè)參數(shù)的值。PARALLEL_ADAPTIVE_MULTI_USER:當(dāng)這個(gè)參數(shù)的值為T(mén)RUE時(shí),系統(tǒng)將啟動(dòng)一個(gè)能提高使用并行執(zhí)行的多用戶系統(tǒng)性能的自適應(yīng)算法。這個(gè)算法將根據(jù)查詢開(kāi)始時(shí)的系統(tǒng)負(fù)載自動(dòng)降低查詢請(qǐng)求的并行度。第95頁(yè),共171頁(yè),2023年,2月20日,星期四96Oracle配置的關(guān)鍵參數(shù)
PARLLEL_MIN_SERVERS:這個(gè)參數(shù)指定了實(shí)例并行執(zhí)行進(jìn)程的最小數(shù)量。其值就是實(shí)例啟動(dòng)時(shí)Oracle創(chuàng)建的并行執(zhí)行進(jìn)程數(shù)。PARLLEL_THREADS_PER_CPU:這個(gè)參數(shù)指定了實(shí)例默認(rèn)的并行度和并行自適應(yīng)以及負(fù)載平衡算法。它指明了并行執(zhí)行過(guò)程中一個(gè)CPU能處理的進(jìn)程或線程數(shù)。PARTITION_VIEW_ENABLED:這個(gè)參數(shù)指定了優(yōu)化器是否使用分區(qū)視圖。Oracle推薦用戶使用分區(qū)表(這是在Oracle8之后引入的)而不是分區(qū)視圖。分區(qū)視圖只是為了提供Oracle的后向兼容性。REVOVERY_PARALLELISM:這個(gè)參數(shù)指定了恢復(fù)數(shù)據(jù)庫(kù)系統(tǒng)時(shí)使用的進(jìn)程數(shù)。
第96頁(yè),共171頁(yè),2023年,2月20日,星期四97Oracle的索引索引和降低系統(tǒng)處理的數(shù)據(jù)量
索引和更新
在字段選擇性很低的情況下適用索引第97頁(yè),共171頁(yè),2023年,2月20日,星期四98Oracle的并行執(zhí)行特性RDBMS的絕大多數(shù)操作都可分為以下3類:被CPU限制的操作:這類操作的速度和單CPU運(yùn)行速度一樣。通過(guò)并行化操作,多個(gè)CPU可并行處理系統(tǒng)負(fù)載,因此可以更快完成該操作。被I/O限制的操作:這類操作花了絕大部分時(shí)間等待系統(tǒng)完成I/O操作。當(dāng)系統(tǒng)中同時(shí)出現(xiàn)多個(gè)I/O請(qǐng)求時(shí),絕大多數(shù)RAID控制器將很好工作。另外,當(dāng)一個(gè)線程需要等待完成I/O操作時(shí),可充分利用CPU來(lái)處理另一線程的CPU部分。被競(jìng)爭(zhēng)限制的操作:并行處理不能改善由資源競(jìng)爭(zhēng)所限制的操作。第98頁(yè),共171頁(yè),2023年,2月20日,星期四99Oracle的并行執(zhí)行特性應(yīng)當(dāng)首先根據(jù)如下一些因素考慮并行度:計(jì)算機(jī)的CPU能力:CPU的數(shù)量和能力將影響系統(tǒng)能運(yùn)行的查詢進(jìn)程數(shù)量。系統(tǒng)處理大量進(jìn)程的能力:一些操作系統(tǒng)能處理很多并發(fā)進(jìn)程,而另一些操作系統(tǒng)則沒(méi)有這方面的能力。系統(tǒng)負(fù)載:如果系統(tǒng)現(xiàn)在的運(yùn)行已經(jīng)達(dá)到了極限,那么對(duì)并行度的調(diào)整不會(huì)有太大效果。如果系統(tǒng)運(yùn)行已達(dá)其能力極限的90%,那么太多的查詢進(jìn)程將使系統(tǒng)不堪重負(fù)。系統(tǒng)處理的查詢數(shù)量:如果系統(tǒng)的大部分操作是更新操作,但仍有少量的重要查詢存在,那么開(kāi)發(fā)人員可能希望系統(tǒng)運(yùn)行多個(gè)查詢進(jìn)程。系統(tǒng)的I/O能力:如果磁盤(pán)上的數(shù)據(jù)是分片或是使用磁盤(pán)陣列存儲(chǔ)的,那么系統(tǒng)能夠處理多個(gè)并行查詢。操作類型:系統(tǒng)是否需要處理很多的全表掃描或排序?并行查詢服務(wù)器非常有助于這類操作。第99頁(yè),共171頁(yè),2023年,2月20日,星期四100Oracle的并行執(zhí)行特性并行查詢處理
并行創(chuàng)建索引
并行加載數(shù)據(jù)并行恢復(fù)
第100頁(yè),共171頁(yè),2023年,2月20日,星期四101Oracle的并行執(zhí)行特性關(guān)于并行度的一些建議:諸如排序之類的需要大量CPU資源的操作應(yīng)當(dāng)采用較低的并行度。其原因是這類受限于CPU的操作已經(jīng)充分利用了CPU,而不需等待系統(tǒng)的I/O操作。諸如全表掃描之類的需要大量磁盤(pán)I/O的操作應(yīng)當(dāng)采用較高的并行度。需要等待磁盤(pán)I/O的操作越多,系統(tǒng)就越能受益于并行操作。如果系統(tǒng)中有大量的并發(fā)進(jìn)程,那么應(yīng)當(dāng)采用較低的并行度。因?yàn)樘嗟倪M(jìn)程將使系統(tǒng)不堪重負(fù)。
第101頁(yè),共171頁(yè),2023年,2月20日,星期四102Oracle的簇與散列簇有利
不利第102頁(yè),共171頁(yè),2023年,2月20日,星期四103Oracle的同時(shí)讀取多塊數(shù)據(jù)
當(dāng)系統(tǒng)執(zhí)行表掃描時(shí),Oracle具備同時(shí)讀取多個(gè)數(shù)據(jù)塊的能力,這種能力提高了系統(tǒng)的I/O速度。通過(guò)同時(shí)讀取多塊數(shù)據(jù),Oracle能夠從磁盤(pán)上讀取更大的數(shù)據(jù)塊,從而避免了對(duì)磁盤(pán)上數(shù)據(jù)進(jìn)行搜索的操作。通過(guò)降低磁盤(pán)搜索和讀取更大的數(shù)據(jù)塊,可以降低系統(tǒng)的I/O開(kāi)銷和CPU開(kāi)銷。
第103頁(yè),共171頁(yè),2023年,2月20日,星期四104Oracle的分區(qū)分區(qū)方案:RangePartitioning:這種方案根據(jù)數(shù)據(jù)的范圍,比如月、年等等對(duì)表中的數(shù)據(jù)進(jìn)行分區(qū)。ListPartitioning:這種方案和RangePartitioning分區(qū)方案很類似,但這種方案是按照數(shù)據(jù)的值而不是數(shù)據(jù)的范圍來(lái)進(jìn)行分區(qū)劃分的。HashPartitioning:這種分區(qū)方案使用散列函數(shù)來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的自動(dòng)分區(qū)。Sub-Partitioning:這種方法就是開(kāi)發(fā)人員熟悉的復(fù)合分區(qū)方法。這種方法允許開(kāi)發(fā)人員同時(shí)使用多種分區(qū)方案。第104頁(yè),共171頁(yè),2023年,2月20日,星期四105Oracle的分區(qū)分區(qū)有以下幾方面的好處:對(duì)能被分區(qū)的大尺寸表進(jìn)行掃描時(shí),分區(qū)可降低I/O操作和CPU的使用率??稍诜謪^(qū)的層次上而不是表的層次上加載數(shù)據(jù)。能以刪除分區(qū)的方式刪除數(shù)據(jù),而不必使用SELECT語(yǔ)句來(lái)刪除大量數(shù)據(jù)。對(duì)用戶和應(yīng)用程序而言,分區(qū)是完全透明的??稍诜謪^(qū)層次上而不是在表層次上維護(hù)數(shù)據(jù)。第105頁(yè),共171頁(yè),2023年,2月20日,星期四106Oracle的多線程服務(wù)器用戶可通過(guò)專用服務(wù)器進(jìn)程連接到Oracle實(shí)例,也可以通過(guò)多線程服務(wù)器進(jìn)程連接到Oracle實(shí)例。因?yàn)槊恳粋€(gè)專用服務(wù)器進(jìn)程都將占用大量?jī)?nèi)存資源和系統(tǒng)資源,所以有必要對(duì)多用戶連接采用多線程服務(wù)器進(jìn)程。多線程服務(wù)器進(jìn)程允許多個(gè)用戶使用一定數(shù)量的共享服務(wù)器進(jìn)程。共享服務(wù)器進(jìn)程使用共享緩沖池對(duì)用戶請(qǐng)求進(jìn)行排隊(duì)并返回?cái)?shù)據(jù),從而大大減少CPU和內(nèi)存的使用。
第106頁(yè),共171頁(yè),2023年,2月20日,星期四107測(cè)試典型案例分析硬件配置與系統(tǒng)性能測(cè)試實(shí)例第107頁(yè),共171頁(yè),2023年,2月20日,星期四108測(cè)試典型案例分析服務(wù)器集群與系統(tǒng)性能測(cè)試實(shí)例第108頁(yè),共171頁(yè),2023年,2月20日,星期四109案例測(cè)試經(jīng)驗(yàn)交流負(fù)載均衡與系統(tǒng)性能測(cè)試實(shí)例第109頁(yè),共171頁(yè),2023年,2月20日,星期四110案例測(cè)試經(jīng)驗(yàn)交流負(fù)載均衡基礎(chǔ)知識(shí)負(fù)載均衡策略:靜態(tài)方式、動(dòng)態(tài)方式:負(fù)載均衡針對(duì)的應(yīng)用負(fù)載均衡記錄文件-用戶表回話保持概念回話保持方式負(fù)載均衡器布置第110頁(yè),共171頁(yè),2023年,2月20日,星期四111測(cè)試典型案例分析案例測(cè)試經(jīng)驗(yàn)交流第111頁(yè),共171頁(yè),2023年,2月20日,星期四112案例測(cè)試經(jīng)驗(yàn)交流一個(gè)文檔、郵件接收與發(fā)送系統(tǒng):業(yè)務(wù)“下傳文檔”錄制不全,本地保存與打開(kāi)不能夠錄制上。Weblogic監(jiān)控需要做的準(zhǔn)備工作是系統(tǒng)不能登陸,IE問(wèn)題Windows2000Server的資源監(jiān)控把握3個(gè)重點(diǎn)Unix資源監(jiān)控,如果LoadRunner無(wú)法監(jiān)控7.5的license加到7.8上,出現(xiàn)監(jiān)控counter全部丟失的現(xiàn)象在結(jié)果文件analysis中直接可以得到excel格式的結(jié)果第112頁(yè),共171頁(yè),2023年,2月20日,星期四113案例測(cè)試經(jīng)驗(yàn)交流一個(gè)多媒體處理系統(tǒng):出現(xiàn)業(yè)務(wù)“登陸”無(wú)法并發(fā)的現(xiàn)象“登陸”無(wú)法并發(fā)并不影響后面交易的并發(fā)執(zhí)行采用correlation技術(shù)實(shí)現(xiàn)壓力對(duì)于“查詢”操作驗(yàn)證檢查結(jié)果是否正確。QALoad和LoadRunner所錄的腳本不一致QALoad所錄腳本并發(fā),交易都成功,但報(bào)400及500錯(cuò)誤第113頁(yè),共171頁(yè),2023年,2月20日,星期四114案例測(cè)試經(jīng)驗(yàn)交流一個(gè)打掃碼信息處理系統(tǒng):Winsock連接要考慮是否有必要做并發(fā)性能測(cè)試?還是需要做疲勞測(cè)試?默認(rèn)的分析中thinktime時(shí)間沒(méi)有去掉加壓前系統(tǒng)的性能指標(biāo)應(yīng)該關(guān)注,否則沒(méi)有參考依據(jù),例如CPU、內(nèi)存、DiskI/O等。指標(biāo)DiskTime在磁盤(pán)陣列時(shí)失效,其值大于100%,應(yīng)注意監(jiān)控“idletime”指標(biāo)。第114頁(yè),共171頁(yè),2023年,2月20日,星期四115案例測(cè)試經(jīng)驗(yàn)交流一個(gè)工作流系統(tǒng)的選型測(cè)試:測(cè)試數(shù)據(jù)的準(zhǔn)備集群的驗(yàn)證第115頁(yè),共171頁(yè),2023年,2月20日,星期四116案例測(cè)試經(jīng)驗(yàn)交流一個(gè)稅務(wù)測(cè)試:1.關(guān)閉視圖降低系統(tǒng)的交易平均響應(yīng)時(shí)間;2.并發(fā)測(cè)試過(guò)程中,當(dāng)大規(guī)模并發(fā)時(shí)候,出現(xiàn)服務(wù)器拒絕連接的情況,connectionrefused(10061),被測(cè)試系統(tǒng)為WEBLOGIC應(yīng)用服務(wù)器,調(diào)整weblogic配置參數(shù)backlog的值,可以克服該問(wèn)題;3.索引使用不當(dāng);4.代理的吞吐能力影響并發(fā)用戶數(shù)第116頁(yè),共171頁(yè),2023年,2月20日,星期四117案例測(cè)試經(jīng)驗(yàn)交流一個(gè)IC卡處理系統(tǒng):中間件客戶端連接數(shù)隊(duì)列阻塞問(wèn)題數(shù)據(jù)庫(kù)優(yōu)化選項(xiàng)問(wèn)題負(fù)載均衡問(wèn)題第117頁(yè),共171頁(yè),2023年,2月20日,星期四118案例測(cè)試經(jīng)驗(yàn)交流工具不能支持的被測(cè)對(duì)象:OracleFormSMTP+SSLNC第118頁(yè),共171頁(yè),2023年,2月20日,星期四119案例測(cè)試經(jīng)驗(yàn)交流負(fù)載壓力性能指標(biāo)的區(qū)別(CPU):LoadRunnerVmstat命令I(lǐng)ostat命令Mpstat命令Top命令第119頁(yè),共171頁(yè),2023年,2月20日,星期四120案例測(cè)試經(jīng)驗(yàn)交流不同的工具監(jiān)控性能指標(biāo)(CPU):最大并發(fā)用戶數(shù)最大連接數(shù)最大在線用戶數(shù)最大注冊(cè)用戶數(shù)第120頁(yè),共171頁(yè),2023年,2月20日,星期四121測(cè)試案例介紹并發(fā)性能測(cè)試幾個(gè)應(yīng)用實(shí)例實(shí)例1:××計(jì)費(fèi)帳務(wù)系統(tǒng)V3.0
測(cè)試類型:并發(fā)、疲勞系統(tǒng)運(yùn)行模式:三層結(jié)構(gòu)中間件TUXEDO、數(shù)據(jù)庫(kù)服務(wù)器操作系統(tǒng)UNIX、數(shù)據(jù)庫(kù)Oracle
監(jiān)測(cè)的測(cè)試指標(biāo)包括:交易處理性能、UNIX資源、TUXEDO資源并發(fā)用戶數(shù):50
測(cè)試工具:LoadRunner7.5.1
解決的問(wèn)題:業(yè)務(wù)執(zhí)行平均響應(yīng)時(shí)間在100秒左右,經(jīng)過(guò)調(diào)優(yōu)后,平均響應(yīng)時(shí)間降為10秒例圖如下第121頁(yè),共171頁(yè),2023年,2月20日,星期四122測(cè)試案例介紹銷帳,并發(fā)用戶數(shù)50,平均響應(yīng)時(shí)間第122頁(yè),共171頁(yè),2023年,2月20日,星期四123測(cè)試案例介紹實(shí)例2:××加油IC卡試點(diǎn)工程核心軟件V2.0
測(cè)試類型:并發(fā)系統(tǒng)運(yùn)行模式:發(fā)卡網(wǎng)點(diǎn)子系統(tǒng)采用三層結(jié)構(gòu)的運(yùn)行模式,零管子系統(tǒng)采用C/S運(yùn)行模式。中間件TUXEDO、數(shù)據(jù)庫(kù)服務(wù)器操作系統(tǒng)UNIX、數(shù)據(jù)庫(kù)Sybase
監(jiān)測(cè)的測(cè)試指標(biāo)包括:交易處理性能、UNIX資源、TUXEDO資源并發(fā)用戶數(shù):銷售信息查詢100,單用戶卡充值170
測(cè)試工具:QALoad、LoadRunner第123頁(yè),共171頁(yè),2023年,2月20日,星期四124測(cè)試案例介紹實(shí)例2:××加油IC卡試點(diǎn)工程核心軟件V2.0(續(xù))解決的問(wèn)題:銷售信息查詢,當(dāng)記錄條數(shù)達(dá)到1000000時(shí),系統(tǒng)在15分鐘內(nèi)無(wú)任何響應(yīng)。經(jīng)分析確定為系統(tǒng)數(shù)據(jù)庫(kù)的架構(gòu)存在問(wèn)題。例圖如下:第124頁(yè),共171頁(yè),2023年,2月20日,星期四125測(cè)試案例介紹1.100用戶2.50用戶3.30用戶4.20用戶5.10用戶
第125頁(yè),共171頁(yè),2023年,2月20日,星期四126測(cè)試案例介紹實(shí)例3:××高速公路聯(lián)網(wǎng)收費(fèi)系統(tǒng)V1.1
測(cè)試類型:并發(fā)、疲勞系統(tǒng)運(yùn)行模式:該軟件為C/S結(jié)構(gòu),數(shù)據(jù)庫(kù)Informix7.3,中間件(自行開(kāi)發(fā))Winsock,各級(jí)服務(wù)器均為IBM系列服務(wù)器監(jiān)測(cè)的測(cè)試指標(biāo)包括:UNIX資源并發(fā)用戶數(shù):100測(cè)試工具:QALoad、LoadRunner解決的問(wèn)題:CPU占用率基本保持在65%,在并發(fā)用戶數(shù)為100,交易數(shù)為100的情況下達(dá)到82%,最大值達(dá)到90%以上??梢?jiàn)CPU占用率將來(lái)有可能會(huì)成為系統(tǒng)瓶頸疲勞測(cè)試丟失數(shù)據(jù)763條,中間件的穩(wěn)定性有待進(jìn)一步提高
例圖如下:第126頁(yè),共171頁(yè),2023年,2月20日,星期四127測(cè)試案例介紹0309100_05F:虛擬用戶數(shù)1000309100_060:虛擬用戶數(shù)100309100_061:虛擬用戶數(shù)300309100_062:虛擬用戶數(shù)50圖:入口車道往結(jié)算中心上傳交易響應(yīng)時(shí)間分布圖第127頁(yè),共171頁(yè),2023年,2月20日,星期四128測(cè)試案例介紹實(shí)例4:××多媒體數(shù)據(jù)庫(kù)V1.0
測(cè)試類型:并發(fā)、疲勞系統(tǒng)運(yùn)行模式:B/S運(yùn)行模式,三層結(jié)構(gòu),web服務(wù)器為Apache,后臺(tái)各服務(wù)器操作系統(tǒng)為UNIX或者Linux,數(shù)據(jù)庫(kù)為Oracle監(jiān)測(cè)的測(cè)試指標(biāo)包括:UNIX(Linux)、Oracle以及Apache資源并發(fā)用戶數(shù):200測(cè)試工具:QALoad、LoadRunner解決的問(wèn)題:當(dāng)并發(fā)用戶數(shù)超過(guò)200時(shí),監(jiān)控到HTTP500、connect以及超時(shí)錯(cuò)誤,且web服務(wù)器報(bào)內(nèi)存溢出錯(cuò)誤,系統(tǒng)應(yīng)進(jìn)一步提高性能,以支持更大并發(fā)用戶數(shù)。例圖如下:
第128頁(yè),共171頁(yè),2023年,2月20日,星期四129測(cè)試案例介紹第129頁(yè),共171頁(yè),2023年,2月20日,星期四130測(cè)試案例介紹實(shí)例5:××業(yè)務(wù)流程管理平臺(tái)V1.0
測(cè)試類型:并發(fā)、疲勞系統(tǒng)運(yùn)行模式:B/S運(yùn)行模式,三層結(jié)構(gòu),web服務(wù)器為WebSphere,后臺(tái)各服務(wù)器操作系統(tǒng)為Windows2000Server,數(shù)據(jù)庫(kù)為DB2監(jiān)測(cè)的測(cè)試指標(biāo)包括:數(shù)據(jù)庫(kù)服務(wù)器、應(yīng)用服務(wù)器、Web服務(wù)器的networkinterface、Windows2000Serverperformance、數(shù)據(jù)庫(kù)DB2、WebSphere等資源并發(fā)用戶數(shù):500測(cè)試工具:QALoad、LoadRunner解決的問(wèn)題:并發(fā)用戶數(shù)為500時(shí)的系統(tǒng)交易響應(yīng)時(shí)間在不可接受的范圍內(nèi),數(shù)據(jù)庫(kù)服務(wù)器的資源占用預(yù)計(jì)會(huì)成為系統(tǒng)運(yùn)行瓶頸。例圖如下:
第130頁(yè),共171頁(yè),2023年,2月20日,星期四131測(cè)試案例介紹1.業(yè)務(wù):wokflow,總并發(fā)用戶數(shù):100;2.業(yè)務(wù):wokflow,總并發(fā)用戶數(shù):300;3.業(yè)務(wù):wokflow,總并發(fā)用戶數(shù):500;4.業(yè)務(wù):homepage,總并發(fā)用戶數(shù):100;5.業(yè)務(wù):homepage,總并發(fā)用戶數(shù):300;6.業(yè)務(wù):homepage,總并發(fā)用戶數(shù):500;7.業(yè)務(wù):mail,總并發(fā)用戶數(shù):100;8.業(yè)務(wù):mail,總并發(fā)用戶數(shù):300;9.業(yè)務(wù):mail,總并發(fā)用戶數(shù):500;10.業(yè)務(wù):mailsend,總并發(fā)用戶數(shù):100;11.業(yè)務(wù):mailsend,總并發(fā)用戶數(shù):300;12.業(yè)務(wù):mailsend,總并發(fā)用戶數(shù):500第131頁(yè),共171頁(yè),2023年,2月20日,星期四132測(cè)試工具上機(jī)實(shí)習(xí)負(fù)載壓力測(cè)試工具:LoadRunner7.8上機(jī)實(shí)習(xí)內(nèi)容:BSCS自己開(kāi)發(fā)測(cè)試腳本資源監(jiān)控第132頁(yè),共171頁(yè),2023年,2月20日,星期四133測(cè)試工具的使用技巧面向目標(biāo)的測(cè)試方案參數(shù)池技術(shù)將事務(wù)插入到Vuser腳本將集合點(diǎn)插入到Vuser腳本動(dòng)態(tài)數(shù)據(jù)關(guān)聯(lián)IP數(shù)據(jù)池Web站點(diǎn)經(jīng)驗(yàn)點(diǎn)滴腳本調(diào)試技術(shù)測(cè)試工具配置技巧加載GUI腳本Oracle故障診斷特殊的測(cè)試類型第133頁(yè),共171頁(yè),2023年,2月20日,星期四134面向目標(biāo)的測(cè)試方案虛擬IP數(shù)據(jù)池用戶目標(biāo)類型每秒點(diǎn)擊次數(shù)、每分鐘頁(yè)面數(shù)或每秒事務(wù)數(shù)事務(wù)響應(yīng)時(shí)間目標(biāo)類型第134頁(yè),共171頁(yè),2023年,2月20日,星期四135參數(shù)池技術(shù)(1)第135頁(yè),共171頁(yè),2023年,2月20日,星期四136參數(shù)池技術(shù)(2)第136頁(yè),共171頁(yè),2023年,2月20日,星期四137ManualCorrelation
提問(wèn):系統(tǒng)的輸出值需要為后續(xù)操作提供輸入:系統(tǒng)產(chǎn)生的SessionID;每次訪問(wèn)Web頁(yè)面的動(dòng)態(tài)URL;表單提交期間錄制的Field(有時(shí)會(huì)隱藏)這些值只對(duì)當(dāng)前會(huì)話有效。解決辦法:從一個(gè)操作步驟中撲捉輸出值該值用于另一個(gè)步驟的輸入第137頁(yè),共171頁(yè),2023年,2月20日,星期四138ManualCorrelation這里我們提供幾種關(guān)聯(lián)數(shù)據(jù)的方法:手工關(guān)聯(lián)錄制結(jié)束后自動(dòng)關(guān)聯(lián)錄制過(guò)程中自動(dòng)關(guān)聯(lián)第138頁(yè),共171頁(yè),2023年,2月20日,星期四139ManualCorrelation在Vuser腳本中關(guān)聯(lián)動(dòng)態(tài)數(shù)據(jù)步驟:確定需要撲捉的值找到所撲捉值的左右邊界標(biāo)識(shí)符決定應(yīng)該使用哪個(gè)邊界將函數(shù)web_reg_save_param加入腳本在函數(shù)中加入?yún)?shù)名稱、左邊界標(biāo)識(shí)符、右邊界標(biāo)識(shí)符以及函數(shù)事件在每次腳本運(yùn)行時(shí)參數(shù)化動(dòng)態(tài)數(shù)據(jù)校驗(yàn)執(zhí)行結(jié)果第139頁(yè),共171頁(yè),2023年,2月20日,星期四140IP數(shù)據(jù)池運(yùn)行負(fù)載生成器上的“IP向?qū)А碧砑又付〝?shù)量的IP地址。為UNIX負(fù)載生成器計(jì)算機(jī)手動(dòng)配置新的IP地址。重新啟動(dòng)計(jì)算機(jī)。如有必要,用新地址來(lái)更新服務(wù)器的路由表。在Controller中啟用這項(xiàng)功能。第140頁(yè),共171頁(yè),2023年,2月20日,星期四141Web應(yīng)用測(cè)試測(cè)試策略設(shè)計(jì)測(cè)試開(kāi)發(fā)測(cè)試應(yīng)用測(cè)試第141頁(yè),共171頁(yè),2023年,2月20日,星期四142Web應(yīng)用測(cè)試策略按系統(tǒng)架構(gòu):客戶端測(cè)試、網(wǎng)絡(luò)上測(cè)試、服務(wù)器端測(cè)試按面向?qū)ο螅汗δ軠y(cè)試、服務(wù)測(cè)試、安全測(cè)試、數(shù)據(jù)庫(kù)測(cè)試按質(zhì)量特性:功能測(cè)試、性能測(cè)試、安全性測(cè)試、兼容性測(cè)試和易用性測(cè)試按開(kāi)發(fā)階段:設(shè)計(jì)測(cè)試、開(kāi)發(fā)測(cè)試、運(yùn)行測(cè)試第142頁(yè),共171頁(yè),2023年,2月20日,星期四143Web應(yīng)用設(shè)計(jì)測(cè)試總體架構(gòu)設(shè)計(jì)的測(cè)試客戶端設(shè)計(jì)的測(cè)試服務(wù)器端設(shè)計(jì)的測(cè)試第143頁(yè),共171頁(yè),2023年,2月20日,星期四144Web應(yīng)用總體架構(gòu)設(shè)計(jì)的測(cè)試采用瘦客戶端或胖客戶端是否適合需求確定Web架構(gòu)的組成部分是否滿足需求服務(wù)器的配置及分布是否滿足需求第144頁(yè),共171頁(yè),2023年,2月20日,星期四145Web應(yīng)用總體架構(gòu)設(shè)計(jì)的測(cè)試序號(hào)模型單元1單元2單元31單單元模型基于NT的Web服務(wù)器基于NT的應(yīng)用服務(wù)器基于NT的數(shù)據(jù)庫(kù)服務(wù)器
2雙單元模型基于NT的Web服務(wù)器基于NT的應(yīng)用服務(wù)器基于NT的數(shù)據(jù)庫(kù)服務(wù)器
3三單元模型基于NT的Web服務(wù)器基于NT的應(yīng)用服務(wù)器基于NT的Web服務(wù)器基于NT的應(yīng)用服務(wù)器基于NT的數(shù)據(jù)庫(kù)服務(wù)器4單單元模型基于UNIX的Web服務(wù)器基于UNIX的應(yīng)用服務(wù)器基于UNIX的數(shù)據(jù)庫(kù)服務(wù)器
5雙單元模型基于UNIX的Web服務(wù)器基于UNIX的應(yīng)用服務(wù)器基于UNIX的數(shù)據(jù)庫(kù)服務(wù)器
6三單元模型基于NT的Web服務(wù)器基于NT的應(yīng)用服務(wù)器基于NT的Web服務(wù)器基于NT的應(yīng)用服務(wù)器基于UNIX的數(shù)據(jù)庫(kù)服務(wù)器第145頁(yè),共171頁(yè),2023年,2月20日,星期四146Web應(yīng)用客戶端設(shè)計(jì)的測(cè)試功能設(shè)置信息組織結(jié)構(gòu)設(shè)計(jì)
頁(yè)面設(shè)計(jì)第146頁(yè),共171頁(yè),2023年,2月20日,星期四147Web應(yīng)用服務(wù)器端設(shè)計(jì)的測(cè)試功能設(shè)置容量規(guī)劃安全系統(tǒng)設(shè)計(jì)
數(shù)據(jù)庫(kù)設(shè)計(jì)第147頁(yè),共171頁(yè),2023年,2月20日,星期四148Web應(yīng)用開(kāi)發(fā)測(cè)試代碼測(cè)試組件測(cè)試服務(wù)器端設(shè)計(jì)的測(cè)試第148頁(yè),共171頁(yè),2023年,2月20日,星期四149Web應(yīng)用運(yùn)行測(cè)試功能測(cè)試易用性測(cè)試負(fù)載壓力測(cè)試客戶端配置與兼容性測(cè)試安全性測(cè)試第149頁(yè),共171頁(yè),2023年,2月20日,星期四150Web應(yīng)用安全性測(cè)試部署與基礎(chǔ)結(jié)構(gòu)輸入驗(yàn)證身份驗(yàn)證授權(quán)配置管理敏感數(shù)據(jù)回話管理加密參數(shù)操作異常管理審核與日值記錄第150頁(yè),共171頁(yè),2023年,2月20日,星期四151Web站點(diǎn)經(jīng)驗(yàn)點(diǎn)滴在執(zhí)行客戶端并發(fā)性能測(cè)試的過(guò)程中,需要同時(shí)監(jiān)控?cái)?shù)據(jù)庫(kù)服務(wù)器、Web服務(wù)器以及網(wǎng)絡(luò)資源等使用情況,以便對(duì)系統(tǒng)的性能做全面評(píng)估錄制腳本和手工編寫(xiě)腳本相結(jié)合設(shè)置數(shù)據(jù)池,實(shí)現(xiàn)變量加載業(yè)務(wù)批量執(zhí)行第151頁(yè),共171頁(yè),2023年,2月20日,星期四152Web站點(diǎn)經(jīng)驗(yàn)點(diǎn)滴模擬用戶數(shù)的遞增合理設(shè)置交易之間時(shí)間間隔模擬IP地址變量的技術(shù)超時(shí)(timeout)的設(shè)置并發(fā)用戶連續(xù)執(zhí)行交易數(shù)的設(shè)置錯(cuò)誤處理第152頁(yè),共171頁(yè),2023年,2月20日,星期四153Web站點(diǎn)經(jīng)驗(yàn)點(diǎn)滴利用QALoad的ActiveData技術(shù)采用復(fù)合交易測(cè)試方案盡量將執(zhí)行負(fù)載測(cè)試的機(jī)器合理分布并發(fā)用戶數(shù)量極限點(diǎn)加壓機(jī)器的CPU使用率也有必要監(jiān)控設(shè)置并發(fā)點(diǎn)HTML與URL錄制方式第153頁(yè),共171頁(yè),2023年,2月20日,星期四154腳本調(diào)試技術(shù)Winsock并發(fā)性能測(cè)試關(guān)鍵技術(shù):
在腳本中如何用變量來(lái)代替定值,即處理Winsock應(yīng)用程序數(shù)據(jù)流??纯聪旅娴膶?shí)例腳本!第154頁(yè),共171頁(yè),2023年,2月20日,星期四155原始腳本PLAYER_INFO*s_info;{/*DeclareVariables*/SET_ABORT_FUNCTION(abort_function);DEFINE_TRANS_TYPE("wsk-AdvancedTech_1.c");//CheckpointshavebeenincludedbytheconvertprocessDefaultCheckpointsOn();DO_WSK_Init(s_info);SetTimeout(20);/*Waitupto20secondsforeachexpectedpattern*/SYNCHRONIZE();BEGIN_TRANSACTION();DO_WSK_Socket(S1,AF_INET,SOCK_STREAM,IPPROTO_IP);DO_WSK_Bind(S1,ANY_ADDR,ANY_PORT);DO_WSK_Connect(S1,"25",2100,AF_INET);///////////////////////////////////////////////////////Thesessionidreturnedbytheserveris//uniquetoeachconnection/////////////////////////////////////////////////////*21bytes:SessionID=jrt90847\r\n*/DO_WSK_Expect(S1,"\n");////////////////////////////////////////////////////////Thisuniqueidisthenusedforsubsequent//requests///////////////////////////////////////////////////////*34bytes*/DO_WSK_Send(S1,"SessionID=jrt90847\r\n:^B^@^@^@^B^@^@^@^A^@^@^@");/*15bytes:IDAccepted#^@\r\n*/DO_WSK_Expect(S1,"\n");DO_WSK_Closesocket(S1);END_TRANSACTION();REPORT(SUCCESS);EXIT();return(0);}第155頁(yè),共171頁(yè),2023年,2月20日,星期四156修改后的腳本PLAYER_INFO*s_info;
{
/*DeclareVariables*/
charBuffer[64];
charSendBuffer[64];
intnBytesReceived=0;
SET_ABORT_FUNCTION(abort_function);
DEFINE_TRANS_TYPE("wsk-AdvancedTech_1.c");
//Checkpointshavebeenincludedbytheconvertprocess
DefaultCheckpointsOn();
DO_WSK_Init(s_info);
SetTimeout(20);/*Waitupto20secondsforeach
expectedpattern*/
SYNCHRONIZE();
BEGIN_TRANSACTION();
DO_WSK_Socket(S1,AF_INET,SOCK_STREAM,IPPROTO_IP);
DO_WSK_Bind(S1,ANY_ADDR,ANY_PORT);
DO_WSK_Connect(S1,"25",2100,AF_INET);
//////////////////////////////////////////////////////
//Thereplyfromtheserverisreadinto
//theBuffervariable.Wewillthenhave
//theuniqueSessionIDforthisconnection.
//Alsoneedtonullterminatethebuffer
//afterreceiving.
//////////////////////////////////////////////////////
DO_WSK_Recv(S1,Buffer,64,0,&nBytesReceived);
Buffer[nBytesRecieved]='\0';
/*21bytes:SessionID=jrt90847\r\n*/
//DO_WSK_Expect(S1,"\n");
//////////////////////////////////////////////////////
//Finally,substitutetheSessionIDreceivedfrom
//theserverwiththeonecodedinthescript.
//////////////////////////////////////////////////////
sprintf(SendBuffer,"%s:^B^@^@^@^B^@^@^@^A^@^@^@",
Buffer);
DO_WSK_Send(S1,SendBuffer);
/*34bytes*/
//DO_WSK_Send(S1,
"SessionID=jrt90847:^B^@^@^@^B^@^@^@^A^@^@^@");
/*15bytes:IDAccepted#^@\r\n*/
DO_WSK_Expect(S1,"\n");
AdvancedScriptingTechniquesforWinSock7-5
DO_WSK_Closesocket(S1);
END_TRANSACTION();
REPORT(SUCCESS);
EXIT();
return(0);
}第156頁(yè),共171頁(yè),2023年,2月20日,星期四157腳本調(diào)試技術(shù)SQLServer并發(fā)性能測(cè)試關(guān)鍵技術(shù):
從存儲(chǔ)過(guò)程中撲獲一個(gè)值利用檢索到的值作為一個(gè)參數(shù)傳遞給存儲(chǔ)過(guò)程看看下面的實(shí)例腳本!第157頁(yè),共171頁(yè),2023年,2月20日,星期四158腳本調(diào)試技術(shù)存儲(chǔ)過(guò)程定義如下createprocedureinc_test_sp(@first_paramint)asbeginselectsecond_param=@first_param+1end第158頁(yè),共171頁(yè),2023年,2月20日,星期四159腳本代碼如下:strcpy(sql_statement,/*>>1<<*/"executeinc_test_sp@sample_param='{01}'");DO_substr(sql_statement,1,"100");BEGIN_CHECKPOINT();/*#1:StoredProcedure*/DO_dbcmd(0,sql_statement);DO_dbsqlexec(0);while(DO_dbGetResults(0));END_CHECKPOINT(25);/*#25:StoredProcedure*/第一步:加入必要的變量說(shuō)明在QALoad腳本的開(kāi)始部分說(shuō)明下面的變量intrhobot_script(s_info)PLAYER_INFO*s_info;{intrhobot_script(s_info)PLAYER_INFO*s_info;{charszSecondParam[20];/*假設(shè)數(shù)字長(zhǎng)度<20!!*/longiSecondParam;第二步:調(diào)用存儲(chǔ)過(guò)程調(diào)用存儲(chǔ)過(guò)程,然后修改其提取返回值(粗體部分)strcpy(sql_statement,/*>>1<<*/"executeinc_test_sp@sample_param='{01}'");DO_substr(sql_statement,1,"100");BEGIN_CHECKPOINT();/*#1:StoredProcedure*/DO_dbcmd(0,sql_statement);DO_dbsqlexec(0);DO_addResultVar("second_param");/*AddTHISlineHERE!!!*/while(DO_dbGetResults(0));END_CHECKPOINT(25);/*#1:StoredProcedure*/strcpy(szSecondParam,DO_getResultVar("second_param"));iOutputReqID=atoi(szSecondParam);RR__printf("SecondParam(string):%s",szSecondParam);RR__printf("SecondParam(int):%d",iSecondParam);
第159頁(yè),共171頁(yè),2023年,2月20日,星期四160原始QALoad腳本代碼strcpy(sql_statem
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電商平臺(tái)SEO優(yōu)化策略解讀
- 2026年電視臺(tái)節(jié)目主持人招聘筆試模擬題節(jié)目編排與口才測(cè)試
- 2026年音樂(lè)人音樂(lè)創(chuàng)作與表演能力提升試題
- 2026年基于工程的投資分析案例題集適用于一級(jí)建造師
- 2026年法律常識(shí)及法律實(shí)務(wù)測(cè)試題庫(kù)
- 2026年電子商務(wù)平臺(tái)消費(fèi)者行為研究習(xí)題集
- 2026年酒店管理服務(wù)技能測(cè)試題大堂經(jīng)理崗
- 2026年一級(jí)消防工程師專業(yè)實(shí)務(wù)模擬題
- 2026年會(huì)計(jì)職稱考試題庫(kù)與標(biāo)準(zhǔn)答案
- 2026年網(wǎng)絡(luò)工程高級(jí)認(rèn)證題庫(kù)網(wǎng)絡(luò)安全管理與防御策略
- 節(jié)假日工地安全監(jiān)理通知模板
- 《軌道交通工程拱蓋法技術(shù)規(guī)范》
- 2025年國(guó)家電網(wǎng)電工類能力招聘考試筆試試題(含答案)
- 瀝青路面監(jiān)理規(guī)劃
- 2026屆山東省濟(jì)南高新區(qū)四校聯(lián)考九年級(jí)數(shù)學(xué)第一學(xué)期期末考試試題含解析
- 模塊管線施工方案
- 2025年訂單農(nóng)業(yè)行業(yè)研究報(bào)告及未來(lái)行業(yè)發(fā)展趨勢(shì)預(yù)測(cè)
- 物業(yè)配電保養(yǎng)培訓(xùn)課件
- GB/T 46015-2025適老家具設(shè)計(jì)指南
- 2025年北京市中考數(shù)學(xué)試卷深度分析及2026年備考建議
- 變電所二次設(shè)備課件
評(píng)論
0/150
提交評(píng)論