第9章基于應用服務器的測試_第1頁
第9章基于應用服務器的測試_第2頁
第9章基于應用服務器的測試_第3頁
第9章基于應用服務器的測試_第4頁
第9章基于應用服務器的測試_第5頁
已閱讀5頁,還剩41頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第9章基于應用服務器的測試西安財經學院9.1基于Web服務器應用的測試9.2基于數據庫應用服務器的測試9.3基于JavaEE應用服務器的測試9.1基于Web服務器應用的測試9.1.1Web服務器功能測試 9.1.2Web安全性測試9.1.3Web性能測試9.1.4性能測試工具Flood9.1.1Web服務器的功能測試GET OPTIONSHEADPOSTPUTDELETETRACECONNECT正則表達式常用的Web元素功能測試頁面鏈接頁面是否存在頁面是否正確設計腳本不同的腳本語言相同的腳本語言在不同瀏覽器中的表現Web圖形表單9.1.2Web服務器的安全測試登錄、身份驗證超時、Cookie和Session輸入驗證(防止腳本語言)數據加密、SSL(安全套接字)SQL注入XSS日志文件目錄跨站點攻擊(XSS)ReflectedXSSStoredXSSDOM-basedXSS/index.php/Cross-site_Scripting_(XSS)9.1.3Web服務器的性能測試基于Web應用系統的在線用戶和響應時間來度量系統性能,基于Web應用系統的吞吐量和響應時間來度量系統性能/benchmarks.html#webApache性能測試工具abWeb服務器性能測試要點如何確定在線用戶數量呢?由于時間和資源限制,不可能對Web應用系統的所有功能進行性能測試,而是根據業務的實際操作情況和技術的角度來分析,選擇關鍵業務。如果是基于在線用戶的性能測試需求,可以將錄制腳本時記錄的思考時間作為基準,以此將思考時間設置成一定范圍內的隨機值?;谕掏铝康男阅軠y試需求,可以把思考時間設置為零。Web站點經驗點滴1.在執行客戶端并發性能測試的過程中,需要同時監控數據庫服務器、Web服務器以及網絡資源等使用情況,以便對系統的性能做全面評估2.錄制腳本和手工編寫腳本相結合3.設置數據池,實現變量加載4.業務批量執行Web站點經驗點滴5.模擬用戶數的遞增6.合理設置交易之間時間間隔7.模擬IP地址變量的技術8.超時(timeout)的設置9.并發用戶連續執行交易數的設置10.錯誤處理Web站點經驗點滴11.利用QALoad的ActiveData技術12.采用復合交易測試方案13.盡量將執行負載測試的機器合理分布14.并發用戶數量極限點15.加壓機器的CPU使用率也有必要監控16.設置并發點17.HTML與URL錄制方式9.1.4性能測試工具FloodApacheHTTP工程包含了一個名為HTTPD-Test的子工程——Apache的通用測試工具包,它包含了不少測試工具而其中Flood(/test/flood/)是人們經常使用的一個Web性能測試工具具體操作安裝設置Flood實例擴展9.2基于Web服務器應用的測試9.2.1數據庫服務器性能測試9.2.2數據庫并發控制測試了解數據庫服務器9.2.1數據庫服務器性能測試大數據量測試:10萬、100萬、千萬條記錄大容量測試:某些字段存儲10M、100M、1G等大體積數據。數據庫性能測試過程和策略(1)理解測試需求:是校驗測試還是基準測試?是單個用戶大數據量測試還是多個用戶并發測試?什么地方是可能的性能瓶頸?可能是哪個方面的性能測試?(應用程序or系統參數orSchema對象)選擇測試工具頁面級的輔助測試工具:JMeter,Webloadetc第三方監控程序:如DBFlash,或者有些通過log文件,來監控動態的訪問路徑,高占用的進程,會話和SQL語句自定義或者常用的命令,來動態監控和獲取執行SQL,PL-SQL所需要的時間,占用的CPU和內存資源.數據庫系統本身的性能工具包,如在Oracle中使用的ExplainPlan,AutoTrace,PKPROF以及Statspack.設計測試場景以及測試腳本數據量設計或加載.測試環境建立和測試過程分析測試腳本設計收集數據和分析結果性能瓶頸參數優化和對比數據庫性能測試過程和策略(2)Oracle數據庫性能測試Oracle系統性能測試的目標:模擬數據庫系統的數據負載,操作,偵測和獲取性能測試數據,幫助開發和DBA來優化和調整數據庫或者應用程序.最終的結果是獲取更快的數據庫響應速度或者更高吞度能力.Oracle系統性能測試的本質硬件(CPU,Memory,I/O競爭等)系統配置(SGA/PGA)應用程序(SQL,PL-SQL)網絡連接Oralce系統性能測試的范圍應用程序調優-ForApplicationdeveloperSQL語句測試調優Thin,OCI測試Schema對象調優-ForDatabasedeveloperSchema(表,索引,存儲過程)設計PL-SQL語句和調用數據復制系統參數調優-ForDBA內存/CPU/I/O競爭/網絡SGA配置動態表空間估計分區表,索引設計數據庫測試工具-AUTOTRACEcommand:setautotrace[on][traceonly][off]…;SQL>select*fromwbxsite;3091rowsselected.ExecutionPlan----------------------------------------------------------0SELECTSTATEMENTOptimizer=CHOOSE(Cost=4Card=2489Bytes=174230)10TABLEACCESS(FULL)OF'WBXSITE'(Cost=4Card=2489Bytes=174230)Statistics----------------------------------------------------------

680recursivecalls0dbblockgets375consistentgets0physicalreads0redosize196696bytessentviaSQL*Nettoclient2765bytesreceivedviaSQL*Netfromclient208SQL*Netroundtripsto/fromclient6sorts(memory)0sorts(disk)3091rowsprocessedSQL>/ --thedatawasfrombuffercache,butnothardparse.3091rowsselected.ExecutionPlan----------------------------------------------------------0SELECTSTATEMENTOptimizer=CHOOSE(Cost=4Card=2489Bytes=174230)10TABLEACCESS(FULL)OF'WBXSITE'(Cost=4Card=2489Bytes=174230)Statistics----------------------------------------------------------

0recursivecalls0dbblockgets245consistentgets0physicalreads0redosize196696bytessentviaSQL*Nettoclient2765bytesreceivedviaSQL*Netfromclient208SQL*Netroundtripsto/fromclient0sorts(memory)0sorts(disk)3091rowsprocessedSQL>數據庫測試工具-AUTOTRACEEXPLAINPLANRunningexplainplanandshowoutput:ExplainplanforStatement;@?/rdbms/admin/utlxpls.sql-Showsplantableoutputforserialprocessing@?/rdbms/admin/utlxplp.sql-ShowsplantableoutputwithparallelexecutioncolumnsAnalyzeplanOptimizermodeScanmodeRecursivecallsRedosizes數據庫測試工具(Cont’d)數據庫測試工具(Cont’d)StatspackInstallpackageConnectassysdbaRun@?/rdbms/admin/spcreatesql,tocreateallrequiredtables,packages,userandgrantprivilege.Specify3requiredparameters:userpassword,tablespaceandtemptablespace,itisbettertocreateindependenttablespaceandtemptablespaceforthisschema.Usingstatspackconnectasperfstats.EXECUTEstatspack.snap;(afterthisprocessfinished,wecanseeasetofdatahadbeengeneratedtoperfstats.STATS$SYSSTAT,bySNAP_IDmthismeans,systemsnapshothadbeengeneratedbyexecutingthispackage.Anintegersnap_idwillbereturned,wecangetitbySMARTcalling,orfromlatestSNAP_IDfromtableSTATS$SYSSTAT.RunningtheStatspackReportconnectasperfstats.Executesql:@?/rdbms/admin/spreportSpecify3parameters:startsnapshotID,endsnapshotIDandreportname(defaultissp_xx_yy.lisincurrentpath).Orbatchdefineandrunbydefinebegine_snap,end_snap,report_namebeforerunsql.Oracle故障診斷利用故障診斷的方法(OracleDBSideTransactionsbySQLStage)可以將SQL語句執行過程中的時間劃分為四部分:解析時間(ParseTime)執行時間(ExecuteTime)讀取時間(FetchTime)其他時間(OtherTime),例如綁定時間(bindtime)。Oracle故障診斷SQL執行時間分解數據庫服務器典型性能問題數據庫服務器性能問題及原因分析

單一類型事務響應時間過長

數據庫服務器負載

糟糕的數據庫設計

事務粒度過大

批任務對普通用戶性能的影響

并發處理能力差

鎖沖突嚴重

資源鎖定造成的數據庫事務超時

數據庫死鎖

數據庫服務器典型性能問題數據庫性能問題的一般解決辦法

監視性能相關數據;定位資源占用較大的事務并做出必要的優化或調整;定位鎖沖突,修改鎖沖突發生嚴重的應用邏輯;對規模較大的數據或者無法通過一般優化解決的鎖沖突進行分布。Oracle與提高性能有關的特性

索引并行執行簇與散列簇分區多線程服務器同時讀取多塊數據

Oracle配置的關鍵參數

MAX_DSPATCHERS:這個參數指定了系統允許同時進行的調度進程的最大數量。MAX_SHARED_SERVERS:這個參數指定了系統允許同時進行的共享服務器進程的最大數量。如果系統中出現的人為死鎖過于頻繁,那么管理員應該增大這個參數的值。PARALLEL_ADAPTIVE_MULTI_USER:當這個參數的值為TRUE時,系統將啟動一個能提高使用并行執行的多用戶系統性能的自適應算法。這個算法將根據查詢開始時的系統負載自動降低查詢請求的并行度。Oracle配置的關鍵參數

PARLLEL_MIN_SERVERS:這個參數指定了實例并行執行進程的最小數量。其值就是實例啟動時Oracle創建的并行執行進程數。PARLLEL_THREADS_PER_CPU:這個參數指定了實例默認的并行度和并行自適應以及負載平衡算法。它指明了并行執行過程中一個CPU能處理的進程或線程數。PARTITION_VIEW_ENABLED:這個參數指定了優化器是否使用分區視圖。Oracle推薦用戶使用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論