軟件測試基礎教程-007-基于應用服務器的測試_第1頁
軟件測試基礎教程-007-基于應用服務器的測試_第2頁
軟件測試基礎教程-007-基于應用服務器的測試_第3頁
軟件測試基礎教程-007-基于應用服務器的測試_第4頁
軟件測試基礎教程-007-基于應用服務器的測試_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第七章 基于應用服務器的測試應用服務器的類型和特征1.1 應用服務器分類Web 服務器數據庫服務器實時通訊服務器郵件服務器群件服務器文件/打印服務器應用服務器的類型和特征C/S結構優(yōu)點及缺陷B/S結構有點及缺陷三層結構及應用: 表示層,業(yè)務層,應用層各個層次的定義和分工企業(yè)級的服務器企業(yè)級的服務器的主要特點分布式的結構提供了高性能和高適應性高可用性的服務器平臺可升級的體系結構易整合,易管理和易用性的設計不同類型的應用服務器不同的測試重點和角度,如:在郵件服務器中,容量,吞吐能力, 防病毒攻擊等是測試重點. 在實時通信系統(tǒng)中,測試需要考察服務器功能的實現(xiàn), 數據的及時性,完整性, 系統(tǒng)穩(wěn)定性,

2、系統(tǒng)數據備份的冗余設計, 防網絡攻擊及故障恢復處理系統(tǒng)的設計基于Web服務器應用的測試范圍 功能測試 UI測試 負載/壓力測試 安全性測試 兼容性測試 網絡鏈接測試 其他測試如:分辨率,流量常用的Web元素功能測試頁面鏈接頁面是否存在頁面是否正確設計腳本不同的腳本語言相同的腳本語言在不同瀏覽器中的表現(xiàn)Web圖形表單Web服務器的安全測試數據加密登錄超時Cookie和SessionSSL (安全套接字)腳本語言 (vbscript, javascript)日志文件目錄Web服務器的負載測試負載測試的目的基準測試以及校驗測試使用測試工具模擬并發(fā)用戶以及獲取測試結果WebloadLoadRunner

3、JMeterWeb站點經驗點滴在執(zhí)行客戶端并發(fā)性能測試的過程中,需要同時監(jiān)控數據庫服務器、Web服務器以及網絡資源等使用情況,以便對系統(tǒng)的性能做全面評估 錄制腳本和手工編寫腳本相結合 設置數據池,實現(xiàn)變量加載業(yè)務批量執(zhí)行 Web站點經驗點滴模擬用戶數的遞增 合理設置交易之間時間間隔 模擬IP地址變量的技術 超時(timeout)的設置 并發(fā)用戶連續(xù)執(zhí)行交易數的設置 錯誤處理Web站點經驗點滴利用QALoad的ActiveData技術采用復合交易測試方案盡量將執(zhí)行負載測試的機器合理分布 并發(fā)用戶數量極限點加壓機器的CPU使用率也有必要監(jiān)控 設置并發(fā)點 HTML與URL錄制方式基于數據庫服務器的測

4、試 數據庫服務器的組成 DBMS 常用的數據庫服務器平臺Oracle故障診斷為了分析故障位置,將故障診斷數據(Oracle Diagnostics)與交易執(zhí)行響應時間(Transaction Response Time)數據關聯(lián)起來。例如:某交易 “enter”的平均響應時間高,使用故障診斷(Oracle diagnostics),就可以查找到是什么原因導致了這個問題。 Oracle故障診斷利用故障診斷的方法(Oracle DB Side Transactions by SQL Stage)可以將SQL語句執(zhí)行過程中的時間劃分為四部分:解析時間(Parse Time)執(zhí)行時間(Execute

5、Time)讀取時間(Fetch Time)其他時間(Other Time),例如綁定時間(bind time)。 Oracle故障診斷SQL執(zhí)行時間分解數據庫服務器典型性能問題數據庫服務器性能問題及原因分析 單一類型事務響應時間過長 數據庫服務器負載 糟糕的數據庫設計 事務粒度過大 批任務對普通用戶性能的影響 并發(fā)處理能力差 鎖沖突嚴重 資源鎖定造成的數據庫事務超時 數據庫死鎖 數據庫服務器典型性能問題數據庫性能問題的一般解決辦法 監(jiān)視性能相關數據;定位資源占用較大的事務并做出必要的優(yōu)化或調整;定位鎖沖突,修改鎖沖突發(fā)生嚴重的應用邏輯;對規(guī)模較大的數據或者無法通過一般優(yōu)化解決的鎖沖突進行分布。

6、Oracle與提高性能有關的特性 索引并行執(zhí)行簇與散列簇分區(qū)多線程服務器同時讀取多塊數據 Oracle配置的關鍵參數 MAX_DSPATCHERS:這個參數指定了系統(tǒng)允許同時進行的調度進程的最大數量。MAX_SHARED_SERVERS:這個參數指定了系統(tǒng)允許同時進行的共享服務器進程的最大數量。如果系統(tǒng)中出現(xiàn)的人為死鎖過于頻繁,那么管理員應該增大這個參數的值。PARALLEL_ADAPTIVE_MULTI_USER:當這個參數的值為TRUE時,系統(tǒng)將啟動一個能提高使用并行執(zhí)行的多用戶系統(tǒng)性能的自適應算法。這個算法將根據查詢開始時的系統(tǒng)負載自動降低查詢請求的并行度。Oracle配置的關鍵參數 P

7、ARLLEL_MIN_SERVERS:這個參數指定了實例并行執(zhí)行進程的最小數量。其值就是實例啟動時Oracle創(chuàng)建的并行執(zhí)行進程數。PARLLEL_THREADS_PER_CPU:這個參數指定了實例默認的并行度和并行自適應以及負載平衡算法。它指明了并行執(zhí)行過程中一個CPU能處理的進程或線程數。PARTITION_VIEW_ENABLED:這個參數指定了優(yōu)化器是否使用分區(qū)視圖。Oracle推薦用戶使用分區(qū)表(這是在Oracle8之后引入的)而不是分區(qū)視圖。分區(qū)視圖只是為了提供Oracle的后向兼容性。REVOVERY_PARALLELISM:這個參數指定了恢復數據庫系統(tǒng)時使用的進程數。 Orac

8、le數據庫性能測試Oracle系統(tǒng)性能測試的目標:模擬數據庫系統(tǒng)的數據負載,操作,偵測和獲取性能測試數據, 幫助開發(fā)和DBA來優(yōu)化和調整數據庫或者應用程序.最終的結果是獲取更快的數據庫響應速度或者更高吞度能力.Oracle系統(tǒng)性能測試的本質硬件 (CPU, Memory, I/O競爭等)系統(tǒng)配置 (SGA/PGA)應用程序(SQL, PL-SQL)網絡連接Oralce系統(tǒng)性能測試的范圍應用程序調優(yōu)-For Application developerSQL語句測試調優(yōu)Thin, OCI測試Schema 對象調優(yōu)-For Database developerSchema(表,索引,存儲過程)設計P

9、L-SQL語句和調用數據復制系統(tǒng)參數調優(yōu)-For DBA內存/CPU/I/O競爭/網絡SGA配置動態(tài)表空間估計分區(qū)表,索引設計數據庫性能測試大數據量測試大容量測試性能測試過程和策略理解測試需求: 是校驗測試還是基準測試?是單個用戶大數據量測試還是多個用戶并發(fā)測試?什么地方是可能的性能瓶頸?可能是哪個方面的性能測試? (應用程序or系統(tǒng)參數or Schema對象)選擇測試工具頁面級的輔助測試工具: JMeter, Webload etc第三方監(jiān)控程序: 如DB Flash, 或者有些通過log文件, 來監(jiān)控動態(tài)的訪問路徑, 高占用的進程,會話和SQL語句基于數據庫服務器的測試自定義或者常用的命令

10、, 來動態(tài)監(jiān)控和獲取執(zhí)行SQL, PL-SQL所需要的時間, 占用的CPU和內存資源.數據庫系統(tǒng)本身的性能工具包, 如在Oracle中使用的Explain Plan, AutoTrace, PKPROF以及Statspack.設計測試場景以及測試腳本數據量設計或加載.測試環(huán)境建立和測試過程分析測試腳本設計收集數據和分析結果性能瓶頸參數優(yōu)化和對比數據庫測試工具 -AUTOTRACEcommand:set autotrace ontraceonlyoff;SQL select * from wbxsite;3091 rows selected.Execution Plan- 0 SELECT ST

11、ATEMENT Optimizer=CHOOSE (Cost=4 Card=2489 Bytes=17 4230) 1 0 TABLE ACCESS (FULL) OF WBXSITE (Cost=4 Card=2489 Bytes=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 c

12、lient 208 SQL*Net roundtrips to/from client 6 sorts (memory) 0 sorts (disk) 3091 rows processedSQL / -the 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

13、Card=2489 Bytes=1 74230)Statistics- 0 recursive calls 0 db block gets 245 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 0 sorts (memory) 0 sorts (disk) 3091 rows processedSQL 數據庫測

14、試工具 -AUTOTRACEEXPLAIN PLANRunning explain plan and show output:Explain plan for Statement;?/rdbms/admin/utlxpls.sql - Shows plan table output for serial processing?/rdbms/admin/utlxplp.sql - Shows plan table output with parallel execution columnsAnalyze planOptimizer modeScan modeRecursive callsRedo

15、 sizes數據庫測試工具 (Contd)數據庫測試工具 (Contd)StatspackInstall packageConnect as sysdbaRun ?/rdbms/admin/spcreate sql, to create all required tables, packages, user and grant privilege.Specify 3 required parameters: user password, tablespace and temp tablespace, it is better to create independent tablespace a

16、nd temp tablespace for this schema.Using statspackconnect as perfstats.EXECUTE 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.An integer snap_i

17、d will be returned, we can get it by SMART calling, or from latest SNAP_ID from table STATS$SYSSTAT.Running the Statspack Reportconnect as perfstats.Execute sql: ?/rdbms/admin/spreportSpecify 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_snap, report_name before ru

溫馨提示

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

評論

0/150

提交評論