版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Zhu.KerryG,朱少民 Kerry Zhu,軟件測(cè)試方法和技術(shù)第2版第9章 基于應(yīng)用服務(wù)器的測(cè)試,第9章 基于應(yīng)用服務(wù)器的測(cè)試,9.1 基于Web服務(wù)器應(yīng)用的測(cè)試 9.2 基于數(shù)據(jù)庫(kù)應(yīng)用服務(wù)器的測(cè)試 9.3 基于Java EE應(yīng)用服務(wù)器的測(cè)試,Zhu.K,9.1 基于Web服務(wù)器應(yīng)用的測(cè)試,9.1.1 Web服務(wù)器功能測(cè)試 9.1.2 Web安全性測(cè)試 9.1.3 Web性能測(cè)試 9.1.4 性能測(cè)試工具Flood,Zhu.K,9.1.1 Web服務(wù)器的功能測(cè)試,GET OPTIONS HEAD POST PUT DELETE TRACE CONNECT,Zhu.K,正則表達(dá)式,Zhu.
2、K,常用的Web元素功能測(cè)試,頁(yè)面鏈接 頁(yè)面是否存在 頁(yè)面是否正確 設(shè)計(jì)腳本 不同的腳本語(yǔ)言 相同的腳本語(yǔ)言在不同瀏覽器中的表現(xiàn) Web圖形 表單,Zhu.K,9.1.2 Web服務(wù)器的安全測(cè)試,登錄、身份驗(yàn)證 超時(shí)、Cookie和Session 輸入驗(yàn)證(防止腳本語(yǔ)言) 數(shù)據(jù)加密、SSL (安全套接字) SQL注入 XSS 日志文件 目錄,Zhu.K,跨站點(diǎn)攻擊(XSS),Reflected XSS Stored XSS DOM-based XSS,Zhu.K,/index.php/Cross-site_Scripting_(XSS),9.1.3 Web
3、服務(wù)器的性能測(cè)試,基于Web應(yīng)用系統(tǒng)的在線用戶和響應(yīng)時(shí)間來(lái)度量系統(tǒng)性能, 基于Web應(yīng)用系統(tǒng)的吞吐量和響應(yīng)時(shí)間來(lái)度量系統(tǒng)性能,Zhu.K,/benchmarks.html#web,Apache性能測(cè)試工具ab,Web服務(wù)器性能測(cè)試要點(diǎn),如何確定在線用戶數(shù)量呢? 由于時(shí)間和資源限制,不可能對(duì)Web應(yīng)用系統(tǒng)的所有功能進(jìn)行性能測(cè)試,而是根據(jù)業(yè)務(wù)的實(shí)際操作情況和技術(shù)的角度來(lái)分析,選擇關(guān)鍵業(yè)務(wù) 如果是基于在線用戶的性能測(cè)試需求,可以將錄制腳本時(shí)記錄的思考時(shí)間作為基準(zhǔn),以此將思考時(shí)間設(shè)置成一定范圍內(nèi)的隨機(jī)值?;谕掏铝康男阅軠y(cè)試需求,可以把思考時(shí)間設(shè)置為零,Zhu.K,
4、Web站點(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í)行,Zhu.K,Web站點(diǎn)經(jīng)驗(yàn)點(diǎn)滴,模擬用戶數(shù)的遞增 合理設(shè)置交易之間時(shí)間間隔 模擬IP地址變量的技術(shù) 超時(shí)(timeout)的設(shè)置 并發(fā)用戶連續(xù)執(zhí)行交易數(shù)的設(shè)置 錯(cuò)誤處理,Zhu.K,Web站點(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
5、錄制方式,Zhu.K,9.1.4 性能測(cè)試工具Flood,Zhu.K,Apache HTTP工程包含了一個(gè)名為HTTPD-Test的子工程Apache的通用測(cè)試工具包,它包含了不少測(cè)試工具 而其中Flood(/test/flood/)是人們經(jīng)常使用的一個(gè)Web性能測(cè)試工具,具體操作,安裝 設(shè)置Flood 實(shí)例 擴(kuò)展,Zhu.K,9.2 基于Web服務(wù)器應(yīng)用的測(cè)試,9.2.1 數(shù)據(jù)庫(kù)服務(wù)器性能測(cè)試 9.2.2 數(shù)據(jù)庫(kù)并發(fā)控制測(cè)試,Zhu.K,了解數(shù)據(jù)庫(kù)服務(wù)器,9.2.1 數(shù)據(jù)庫(kù)服務(wù)器性能測(cè)試,大數(shù)據(jù)量測(cè)試:10萬(wàn)、100萬(wàn)、千萬(wàn)條記錄 大容量測(cè)試:某些
6、字段存儲(chǔ)10M、100M、1G等大體積數(shù)據(jù)。,Zhu.K,數(shù)據(jù)庫(kù)性能測(cè)試過(guò)程和策略(1),理解測(cè)試需求: 是校驗(yàn)測(cè)試還是基準(zhǔn)測(cè)試? 是單個(gè)用戶大數(shù)據(jù)量測(cè)試還是多個(gè)用戶并發(fā)測(cè)試? 什么地方是可能的性能瓶頸? 可能是哪個(gè)方面的性能測(cè)試? (應(yīng)用程序or系統(tǒng)參數(shù)or Schema對(duì)象) 選擇測(cè)試工具 頁(yè)面級(jí)的輔助測(cè)試工具: JMeter, Webload etc 第三方監(jiān)控程序: 如DB Flash, 或者有些通過(guò)log文件, 來(lái)監(jiān)控動(dòng)態(tài)的訪問(wèn)路徑, 高占用的進(jìn)程,會(huì)話和SQL語(yǔ)句,Zhu.K,自定義或者常用的命令, 來(lái)動(dòng)態(tài)監(jiān)控和獲取執(zhí)行SQL, PL-SQL所需要的時(shí)間, 占用的CPU和內(nèi)存資源.
7、 數(shù)據(jù)庫(kù)系統(tǒng)本身的性能工具包, 如在Oracle中使用的Explain Plan, AutoTrace, PKPROF以及Statspack. 設(shè)計(jì)測(cè)試場(chǎng)景以及測(cè)試腳本 數(shù)據(jù)量設(shè)計(jì)或加載. 測(cè)試環(huán)境建立和測(cè)試過(guò)程分析 測(cè)試腳本設(shè)計(jì) 收集數(shù)據(jù)和分析結(jié)果 性能瓶頸參數(shù) 優(yōu)化和對(duì)比,Zhu.K,數(shù)據(jù)庫(kù)性能測(cè)試過(guò)程和策略(2),Oracle數(shù)據(jù)庫(kù)性能測(cè)試,Oracle系統(tǒng)性能測(cè)試的目標(biāo): 模擬數(shù)據(jù)庫(kù)系統(tǒng)的數(shù)據(jù)負(fù)載,操作,偵測(cè)和獲取性能測(cè)試數(shù)據(jù), 幫助開(kāi)發(fā)和DBA來(lái)優(yōu)化和調(diào)整數(shù)據(jù)庫(kù)或者應(yīng)用程序. 最終的結(jié)果是獲取更快的數(shù)據(jù)庫(kù)響應(yīng)速度或者更高吞度能力. Oracle系統(tǒng)性能測(cè)試的本質(zhì) 硬件 (CPU, M
8、emory, I/O競(jìng)爭(zhēng)等) 系統(tǒng)配置 (SGA/PGA) 應(yīng)用程序(SQL, PL-SQL) 網(wǎng)絡(luò)連接,Zhu.K,Oralce系統(tǒng)性能測(cè)試的范圍,應(yīng)用程序調(diào)優(yōu)-For Application developer SQL語(yǔ)句測(cè)試調(diào)優(yōu) Thin, OCI測(cè)試 Schema 對(duì)象調(diào)優(yōu)-For Database developer Schema(表,索引,存儲(chǔ)過(guò)程)設(shè)計(jì) PL-SQL語(yǔ)句和調(diào)用 數(shù)據(jù)復(fù)制 系統(tǒng)參數(shù)調(diào)優(yōu)-For DBA 內(nèi)存/CPU/I/O競(jìng)爭(zhēng)/網(wǎng)絡(luò) SGA配置 動(dòng)態(tài)表空間估計(jì) 分區(qū)表,索引設(shè)計(jì),Zhu.K,數(shù)據(jù)庫(kù)測(cè)試工具 -AUTOTRACE,command: set autotr
9、ace 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 Bytes=1 74230) Statistics - 680 recursive calls 0 db block gets 375 consistent gets 0 physical
10、 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 processed,Zhu.K,SQL / -the data was from buffer cache, but not hard parse. 3091 rows selected. Execution Plan - 0 SEL
11、ECT 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 0 redo size 196696 bytes sent via SQL*Net to client 2765 bytes received via SQL*Net
12、from client 208 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 3091 rows processed SQL,數(shù)據(jù)庫(kù)測(cè)試工具 -AUTOTRACE,Zhu.K,EXPLAIN PLAN Running explain plan and show output: Explain plan for Statement; ?/rdbms/admin/utlxpls.sql - Shows plan table output for serial processing ?/rdbms/admin/ut
13、lxplp.sql - Shows plan table output with parallel execution columns Analyze plan Optimizer mode Scan mode Recursive calls Redo sizes,數(shù)據(jù)庫(kù)測(cè)試工具 (Contd),Zhu.K,數(shù)據(jù)庫(kù)測(cè)試工具 (Contd),Statspack Install package Connect as sysdba Run ?/rdbms/admin/spcreate sql, to create all required tables, packages, user and gra
14、nt privilege. Specify 3 required parameters: user password, tablespace and temp tablespace, it is better to create independent tablespace and temp tablespace for this schema. Using statspack connect as perfstats. EXECUTE statspack.snap; (after this process finished, we can see a set of data had been
15、 generated to perfstats. STATS$SYSSTAT, by SNAP_IDm this means, system snapshot had been generated by executing this package. An integer snap_id will be returned, we can get it by SMART calling, or from latest SNAP_ID from table STATS$SYSSTAT. Running the Statspack Report connect as perfstats. Execu
16、te sql: ?/rdbms/admin/spreport Specify 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 run sql.,Zhu.K,Oracle故障診斷,利用故障診斷的方法(Oracle DB Side Transactions by SQL Stage)
17、可以將SQL語(yǔ)句執(zhí)行過(guò)程中的時(shí)間劃分為四部分: 解析時(shí)間(Parse Time) 執(zhí)行時(shí)間(Execute Time) 讀取時(shí)間(Fetch Time) 其他時(shí)間(Other Time),例如綁定時(shí)間(bind time)。,Zhu.K,Oracle故障診斷,SQL執(zhí)行時(shí)間分解,Zhu.K,數(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ù)死鎖,數(shù)據(jù)庫(kù)服務(wù)器典型性能問(wèn)題,數(shù)據(jù)庫(kù)性能問(wèn)題的一般解決辦法 監(jiān)視性能相關(guān)數(shù)據(jù);
18、定位資源占用較大的事務(wù)并做出必要的優(yōu)化或調(diào)整; 定位鎖沖突,修改鎖沖突發(fā)生嚴(yán)重的應(yīng)用邏輯; 對(duì)規(guī)模較大的數(shù)據(jù)或者無(wú)法通過(guò)一般優(yōu)化解決的鎖沖突進(jìn)行分布。,Oracle與提高性能有關(guān)的特性,索引 并行執(zhí)行 簇與散列簇 分區(qū) 多線程服務(wù)器 同時(shí)讀取多塊數(shù)據(jù),Oracle配置的關(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ù)的值
19、為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)求的并行度。,Oracle配置的關(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ù)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 實(shí)木及實(shí)木復(fù)合地板備料工安全生產(chǎn)能力知識(shí)考核試卷含答案
- 加氣混凝土制品工崗前基礎(chǔ)應(yīng)用考核試卷含答案
- 水力發(fā)電運(yùn)行值班員安全風(fēng)險(xiǎn)知識(shí)考核試卷含答案
- 2025年空氣和廢氣監(jiān)測(cè)儀器項(xiàng)目發(fā)展計(jì)劃
- 2025年水分濕度傳感器合作協(xié)議書(shū)
- 2025年射頻同軸電纜組件項(xiàng)目合作計(jì)劃書(shū)
- 2025年光學(xué)纖維面板系列項(xiàng)目發(fā)展計(jì)劃
- 2025 小學(xué)一年級(jí)科學(xué)下冊(cè)認(rèn)識(shí)水果的種子課件
- 狍子介紹教學(xué)課件
- 2026年航空發(fā)動(dòng)機(jī)高溫合金項(xiàng)目建議書(shū)
- 2025年國(guó)防科工局機(jī)關(guān)公開(kāi)遴選公務(wù)員筆試模擬題及答案
- 2024-2025學(xué)年山東省濟(jì)南市天橋區(qū)八年級(jí)(上)期末語(yǔ)文試卷(含答案解析)
- (高清版)DB44∕T 724-2010 《廣州市房屋安全鑒定操作技術(shù)規(guī)程》
- 2025職業(yè)健康培訓(xùn)測(cè)試題(+答案)
- 供貨流程管控方案
- 《實(shí)踐論》《矛盾論》導(dǎo)讀課件
- 中試基地運(yùn)營(yíng)管理制度
- 老年病康復(fù)訓(xùn)練治療講課件
- DB4201-T 617-2020 武漢市架空管線容貌管理技術(shù)規(guī)范
- 藥品追溯碼管理制度
- 腳手架國(guó)際化標(biāo)準(zhǔn)下的發(fā)展趨勢(shì)
評(píng)論
0/150
提交評(píng)論