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

下載本文檔

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

文檔簡介

1、Zhu.KerryG朱少民朱少民Kerry Zhu軟件測試方法和技術軟件測試方法和技術第第2版版第第9章章 基于應用服務器的測試基于應用服務器的測試第第9章章 基于應用服務器的測試基于應用服務器的測試9.1 基于Web服務器應用的測試9.2 基于數據庫應用服務器的測試9.3 基于Java EE應用服務器的測試Zhu.K9.1 基于基于Web服務器應用的測試服務器應用的測試n9.1.1 Web服務器功能測試n9.1.2 Web安全性測試n9.1.3 Web性能測試n9.1.4 性能測試工具FloodZhu.K9.1.1 Web服務器的功能測試服務器的功能測試nGETnOPTIONSnHEADnP

2、OSTnPUTnDELETEnTRACEnCONNECT Zhu.K正則表達式正則表達式Zhu.K常用的常用的Web元素功能測試元素功能測試n頁面鏈接n頁面是否存在n頁面是否正確n設計腳本n不同的腳本語言n相同的腳本語言在不同瀏覽器中的表現nWeb圖形n表單Zhu.K9.1.2 Web服務器的安全測試服務器的安全測試n登錄、身份驗證n超時、Cookie和Sessionn輸入驗證(防止腳本語言)n數據加密、SSL (安全套接字)nSQL注入nXSSn日志文件n目錄Zhu.K跨站點攻擊(跨站點攻擊(XSS)nReflected XSSnStored XSSnDOM-based XSSZhu.Kht

3、tp://index.php/Cross-site_Scripting_(XSS)9.1.3 Web服務器的性能測試服務器的性能測試n基于Web應用系統的在線用戶和響應時間來度量系統性能,n基于Web應用系統的吞吐量和響應時間來度量系統性能Zhu.K/benchmarks.html#webApache性能測試工具性能測試工具abWeb服務器性能測試要點服務器性能測試要點n如何確定在線用戶數量呢?n由于時間和資源限制,不可能對Web應用系統的所有功能進行性能測試,而是根據業務的實際操作情況和技術的角度來分析,選擇關鍵業務n如果是基于在

4、線用戶的性能測試需求,可以將錄制腳本時記錄的思考時間作為基準,以此將思考時間設置成一定范圍內的隨機值。基于吞吐量的性能測試需求,可以把思考時間設置為零Zhu.KWeb站點經驗點滴站點經驗點滴n在執行客戶端并發性能測試的過程中,需要同時監控數據庫服務器、Web服務器以及網絡資源等使用情況,以便對系統的性能做全面評估 n錄制腳本和手工編寫腳本相結合 n設置數據池,實現變量加載n業務批量執行 Zhu.KWeb站點經驗點滴站點經驗點滴n模擬用戶數的遞增 n合理設置交易之間時間間隔 n模擬IP地址變量的技術 n超時(timeout)的設置 n并發用戶連續執行交易數的設置 5.錯誤處理Zhu.KWeb站點

5、經驗點滴站點經驗點滴n利用QALoad的ActiveData技術n采用復合交易測試方案n盡量將執行負載測試的機器合理分布 n并發用戶數量極限點n加壓機器的CPU使用率也有必要監控 n設置并發點 nHTML與URL錄制方式Zhu.K9.1.4 性能測試工具性能測試工具FloodZhu.KApache HTTP工程包含了一個名為HTTPD-Test的子工程Apache的通用測試工具包,它包含了不少測試工具而其中Flood(/test/flood/)是人們經常使用的一個Web性能測試工具具體操作具體操作n安裝n設置設置Floodn實例實例n擴展擴展Zhu.

6、K9.2 基于基于Web服務器應用的測試服務器應用的測試n9.2.1 數據庫服務器性能測試數據庫服務器性能測試n9.2.2 數據庫并發控制測試數據庫并發控制測試Zhu.K了解數據庫服務器了解數據庫服務器9.2.1 數據庫服務器性能測試數據庫服務器性能測試n大數據量測試:10萬、100萬、千萬條記錄n大容量測試:某些字段存儲10M、100M、1G等大體積數據。 Zhu.K數據庫性能測試過程和策略數據庫性能測試過程和策略(1)n理解測試需求理解測試需求: 是校驗測試還是基準測試? 是單個用戶大數據量測試還是多個用戶并發測試? 什么地方是可能的性能瓶頸? 可能是哪個方面的性能測試? (應用程序or系

7、統參數or Schema對象)n選擇測試工具選擇測試工具 頁面級的輔助測試工具: JMeter, Webload etc 第三方監控程序: 如DB Flash, 或者有些通過log文件, 來監控動態的訪問路徑, 高占用的進程,會話和SQL語句Zhu.K 自定義或者常用的命令, 來動態監控和獲取執行SQL, PL-SQL所需要的時間, 占用的CPU和內存資源. 數據庫系統本身的性能工具包, 如在Oracle中使用的Explain Plan, AutoTrace, PKPROF以及Statspack.n設計測試場景以及測試腳本設計測試場景以及測試腳本 數據量設計或加載. 測試環境建立和測試過程分析

8、 測試腳本設計n收集數據和分析結果收集數據和分析結果 性能瓶頸參數 優化和對比Zhu.K數據庫性能測試過程和策略數據庫性能測試過程和策略(2)Oracle數據庫性能測試數據庫性能測試nOracle系統性能測試的目標系統性能測試的目標:n模擬數據庫系統的數據負載模擬數據庫系統的數據負載,操作操作,偵測和獲取性能測試偵測和獲取性能測試數據數據, 幫助開發和幫助開發和DBA來優化和調整數據庫或者應用程來優化和調整數據庫或者應用程序序.n最終的結果是獲取更快的數據庫響應速度或者更高吞度最終的結果是獲取更快的數據庫響應速度或者更高吞度能力能力.nOracle系統性能測試的本質系統性能測試的本質n硬件硬件

9、 (CPU, Memory, I/O競爭等競爭等)n系統配置系統配置 (SGA/PGA)n應用程序應用程序(SQL, PL-SQL)n網絡連接網絡連接Zhu.KOralce系統性能測試的范圍系統性能測試的范圍n應用程序調優應用程序調優-For Application developer SQL語句測試調優語句測試調優 Thin, OCI測試測試nSchema 對象調優對象調優-For Database developer Schema(表表,索引索引,存儲過程存儲過程)設計設計 PL-SQL語句和調用語句和調用 數據復制數據復制n系統參數調優系統參數調優-For DBA 內存內存/CPU/I/

10、O競爭競爭/網絡網絡 SGA配置配置 動態表空間估計動態表空間估計 分區表分區表,索引設計索引設計Zhu.K數據庫測試工具數據庫測試工具 -AUTOTRACEcommand:set autotrace ontraceonlyoff;SQL select * from wbxsite;3091 rows selected.Execution Plan- 0 SELECT STATEMENT Optimizer=CHOOSE (Cost=4 Card=2489 Bytes=17 4230) 1 0 TABLE ACCESS (FULL) OF WBXSITE (Cost=4 Card=2489 B

11、ytes=1 74230)Statistics- 680 recursive calls 0 db block gets 375 consistent gets 0 physical reads 0 redo size 196696 bytes sent via SQL*Net to client 2765 bytes received via SQL*Net from client 208 SQL*Net roundtrips to/from client 6 sorts (memory) 0 sorts (disk) 3091 rows processedZhu.KnSQL / -the

12、data was from buffer cache, but not hard parse.3091 rows selected.Execution Plan- 0 SELECT STATEMENT Optimizer=CHOOSE (Cost=4 Card=2489 Bytes=17 4230) 1 0 TABLE ACCESS (FULL) OF WBXSITE (Cost=4 Card=2489 Bytes=1 74230)Statistics- 0 recursive calls 0 db block gets 245 consistent gets 0 physical reads

13、 0 redo size 196696 bytes sent via SQL*Net to client 2765 bytes received via SQL*Net from client 208 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 3091 rows processedSQL 數據庫測試工具數據庫測試工具 -AUTOTRACEZhu.KnEXPLAIN PLANnRunning explain plan and show output:nExplain plan for Statement;n

14、?/rdbms/admin/utlxpls.sql - Shows plan table output for serial processingn?/rdbms/admin/utlxplp.sql - Shows plan table output with parallel execution columnsnAnalyze plannOptimizer modenScan modenRecursive callsnRedo sizes數據庫測試工具數據庫測試工具 (Contd)Zhu.K數據庫測試工具數據庫測試工具 (Contd)nStatspacknInstall packagenCo

15、nnect as sysdbanRun ?/rdbms/admin/spcreate sql, to create all required tables, packages, user and grant privilege.nSpecify 3 required parameters: user password, tablespace and temp tablespace, it is better to create independent tablespace and temp tablespace for this schema.nUsing statspacknconnect

16、as perfstats.nEXECUTE statspack.snap; (after this process finished, we can see a set of data had been generated to perfstats. STATS$SYSSTAT, by SNAP_IDm this means, system snapshot had been generated by executing this package.nAn integer snap_id will be returned, we can get it by SMART calling, or f

17、rom latest SNAP_ID from table STATS$SYSSTAT.nRunning the Statspack Reportnconnect as perfstats.nExecute sql: ?/rdbms/admin/spreportnSpecify 3 parameters: start snapshot ID, end snapshot ID and report name (default is sp_xx_yy.lis in current path).Or batch define and run by define begine_snap, end_sn

18、ap, report_name before run sql.Zhu.KOracle故障診斷故障診斷利用故障診斷的方法(Oracle DB Side Transactions by SQL Stage)可以將SQL語句執行過程中的時間劃分為四部分:n解析時間(Parse Time)n執行時間(Execute Time)n讀取時間(Fetch Time)n其他時間(Other Time),例如綁定時間(bind time)。 Zhu.KOracle故障診斷故障診斷nSQL執行時間分解Zhu.K數據庫服務器典型性能問題數據庫服務器典型性能問題n數據庫服務器性能問題及原因分析 n單一類型事務響應時間

19、過長 n數據庫服務器負載 n糟糕的數據庫設計 n事務粒度過大 n批任務對普通用戶性能的影響 n并發處理能力差 n鎖沖突嚴重 n資源鎖定造成的數據庫事務超時 n數據庫死鎖 數據庫服務器典型性能問題數據庫服務器典型性能問題數據庫性能問題的一般解決辦法 n監視性能相關數據;n定位資源占用較大的事務并做出必要的優化或調整;n定位鎖沖突,修改鎖沖突發生嚴重的應用邏輯;n對規模較大的數據或者無法通過一般優化解決的鎖沖突進行分布。Oracle與提高性能有關的特性與提高性能有關的特性 n索引n并行執行n簇與散列簇n分區n多線程服務器n同時讀取多塊數據 Oracle配置的關鍵參數配置的關鍵參數 nMAX_DSP

20、ATCHERS:這個參數指定了系統允許同時進行的調度進程的最大數量。nMAX_SHARED_SERVERS:這個參數指定了系統允許同時進行的共享服務器進程的最大數量。如果系統中出現的人為死鎖過于頻繁,那么管理員應該增大這個參數的值。nPARALLEL_ADAPTIVE_MULTI_USER:當這個參數的值為TRUE時,系統將啟動一個能提高使用并行執行的多用戶系統性能的自適應算法。這個算法將根據查詢開始時的系統負載自動降低查詢請求的并行度。Oracle配置的關鍵參數配置的關鍵參數 nPARLLEL_MIN_SERVERS:這個參數指定了實例并行執行進程的最小數量。其值就是實例啟動時Oracle創建的并行執行進程數。nPARLLEL_THREADS_PER_CPU:這個參數指定了實例默認的并行度和并行自適應以及負載平衡算法。它指明了并行執行過程中一個CPU能處理的進程或線程數。nPARTITION_VIEW_ENABLED:這個參數指定了優化器是否使用分區視圖。Oracle推薦用戶使用分區表(這是在Oracle8之后引入的)而不是分區視圖。分區視圖只是為了提供Oracle的后向兼容性。nREVOVERY_PARALLELISM:這個參數指定了恢復數據庫系統時使用的進程數。 9.2.2 數據庫并發控

溫馨提示

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

評論

0/150

提交評論