



下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、摘要: 隨著 Internet 的普及與迅速發(fā)展, 企業(yè)業(yè)務(wù)量的迅速加大, 數(shù)據(jù)大集中成為一種趨勢(shì), IT 系統(tǒng)承載的負(fù)荷越來(lái)越重,系統(tǒng)性能的好壞嚴(yán)重的影響了企業(yè)對(duì)外提供的服務(wù)質(zhì)量.從而對(duì) IT 系統(tǒng)的性能進(jìn)行測(cè)試和調(diào)優(yōu)引起企業(yè)的重視, 進(jìn)而性能測(cè)試工程師成為IT 市場(chǎng)的”香悖悖”,并且性能測(cè)試有著極高的技術(shù)挑戰(zhàn).于是吸引了大量的測(cè)試愛(ài)好者來(lái)學(xué)這方面的技術(shù),而一談到性能測(cè)試很多人便會(huì)想到鼎鼎大名的 Load Runner 這款優(yōu)秀的性能測(cè)試工具, 然而到這里問(wèn)題就產(chǎn)生了?Load Runner 與性能測(cè)試的關(guān)系: Load Runner 初學(xué)者的誤點(diǎn): 把 Load Runner 神化了 .
2、很多初學(xué) Load Runner 的朋友認(rèn)為掌握了使用 Load Runner 這款性能測(cè)試工具,就能夠做性 能測(cè)試了 .常在網(wǎng)上看到好多人在學(xué)習(xí)怎么去使用這款優(yōu)秀的性能測(cè)試工具,本來(lái)學(xué)習(xí)怎么去使用 Load Runner 這個(gè)工具沒(méi)有錯(cuò), 卻把 Load Runner 神化了 , ”天真的” 以為它什么都能做, 以為學(xué)會(huì)了 Load Runner 的使用就能做性能測(cè)試了.盡管用了大量的時(shí)間學(xué)會(huì)了如何使用Load Runner 錄制腳本,如何進(jìn)行關(guān)聯(lián),如何進(jìn)行參數(shù)化,如何設(shè)置集合點(diǎn)等等?可到頭來(lái),性能測(cè)試還是不會(huì)做 .為什么? 對(duì)于產(chǎn)生的性能報(bào)告不知道怎么去分析?不知道如何利用 得到的分析報(bào)告
3、分析出系統(tǒng)存在的瓶頸?不知道如何進(jìn)行性能調(diào)優(yōu)?像這些事光會(huì)使用 Load Runner 是做不到的 ?說(shuō)白了 Load Runner 只是我們做性能測(cè)試的一個(gè)工具, 它并不是萬(wàn) 能的, 是死的, 具體怎么做還得依靠人去操作與分析.會(huì)使用 Load Runner 的人, 并不一定會(huì)做性能測(cè)試,會(huì)做性能測(cè)試的人并不一定都會(huì)使用Load Runner。Load Runner只是一個(gè)性能測(cè)試工具而已 .我們應(yīng)該意識(shí)到,測(cè)試工具只是性能測(cè)試中的一部分,僅是為達(dá)到性能測(cè)試 目的而采用的一種手段性能測(cè)試與系統(tǒng)性能的關(guān)系:高性能,高安全的系統(tǒng),不是測(cè)試出來(lái)的,而是構(gòu)架, 設(shè)計(jì),編寫出來(lái)的 .當(dāng)然在這里我并不否
4、認(rèn)性能測(cè)試的重要性,甚至可以說(shuō)沒(méi)有經(jīng)過(guò)性能測(cè) 試的系統(tǒng), 一定不會(huì)是優(yōu)秀的系統(tǒng), 軟件是人開發(fā)出來(lái)的,而人總是會(huì)出錯(cuò)的,所謂智者千 慮,必有一失要想做好性能測(cè)試,在軟件系統(tǒng)需求,設(shè)計(jì),編寫代碼的這些階段就應(yīng)該進(jìn)行性能測(cè)試, 而不僅僅是系統(tǒng)測(cè)試這個(gè)階段才去做性能測(cè)試, 性能測(cè)試應(yīng)該貫穿于整個(gè)軟 件開發(fā)周期中 .對(duì)初學(xué) Load Runner 朋友的建意:??吹骄W(wǎng)上一些網(wǎng)友發(fā)貼子問(wèn),怎么對(duì)性能測(cè)試產(chǎn) 生的結(jié)果進(jìn)行分析?測(cè)試系統(tǒng)時(shí)怎么去選擇合適的協(xié)議?對(duì)于發(fā)這些貼子的人我想請(qǐng)問(wèn) 你?你能夠詳細(xì)的說(shuō)下 HTTP 協(xié)議嗎? TCP 建立連接和釋放連接的過(guò)程是怎樣進(jìn)行的?什 么是協(xié)議?協(xié)議是用來(lái)做什么的?
5、在 OSI 參考模型中各層的作用?數(shù)據(jù)庫(kù)中產(chǎn)生并發(fā)的沖 突的原因?不要太依賴于 Load Runner 工具本身的學(xué)習(xí), 而去忽略計(jì)算機(jī)其它基礎(chǔ)知識(shí)的學(xué) 習(xí),我們更應(yīng)該去掌握一門編程語(yǔ)言,良好的網(wǎng)絡(luò)基礎(chǔ)知識(shí),計(jì)算機(jī)原理與操作系統(tǒng)知識(shí), 數(shù)據(jù)庫(kù)知識(shí) .這些是我們?nèi)W(xué)習(xí)怎么去使用Load Runner 前提與基礎(chǔ)。1 為什么要掌握一門編程語(yǔ)言其一 ,大家在使用 Load Runner 時(shí)常會(huì)遇到一些不能錄制腳本的情況發(fā)生, 或者需要錄制一些 復(fù)雜的腳本,這時(shí)候我們就必須手動(dòng)的開發(fā)腳本.其二 Load Runner 雖然強(qiáng)大 ,易于使用 ,可是它卻屬于商業(yè)軟件 ,價(jià)格昂貴 ,并且代碼不開源 ,我們無(wú)
6、法了解 Load Runner 具體的實(shí)現(xiàn)細(xì)節(jié) , 甚至我們會(huì)懷疑 Load Runner 收集的性能數(shù)據(jù)準(zhǔn)確嗎?它又是如何實(shí)現(xiàn)的等等,而這些我們通過(guò)Load Runner的幫助文檔無(wú)法得知.性能測(cè)試工具并不只有 Load Runner,做性能測(cè)試還有 許多優(yōu)秀的性能測(cè)試工具可以選擇,像 JMeter,Curl-Loader 等等這些非常優(yōu)秀的開源工具,在全能上雖然并不上 Load Runner,但在某些方面卻比 Load Runner還要強(qiáng)大.例如Curl-Loader 這個(gè)工具 ,它雖然支持的協(xié)議不多 ,但是對(duì)于 http 協(xié)議它最高能產(chǎn)生 10 萬(wàn)的并發(fā)用戶 ,這是 Load Runne
7、r 遠(yuǎn)遠(yuǎn)所不及的 .并且這些工具代碼是公開的,我們能夠從這些代碼中去分析具體實(shí)現(xiàn)的細(xì)節(jié) ,并且還可以自已編寫代碼,增強(qiáng)軟件的功能 ,這也是成為性能測(cè)試高手的一條途徑 .Load Runner 好比我們的 Windows 操作系統(tǒng) ,易于使用 ,功能強(qiáng)大 ,代碼封閉 ,論全能比 Linux 要強(qiáng)大 .我們的開源性能測(cè)試工具好比Linux 操作系統(tǒng)代碼開源 ,不易于使用 ,但很多方面比我們的 Windows 要強(qiáng)大 . 也許這個(gè)時(shí)候有人會(huì)問(wèn)對(duì)于初學(xué)者學(xué)哪門語(yǔ)言最好最有前途 C,C+,VB,JA VA,C# ?其實(shí)每一種語(yǔ)言能夠生存下來(lái) ,自有其生存的道理 ,每一種語(yǔ)言都有自 已優(yōu)勢(shì)和缺點(diǎn) , 并且
8、編程語(yǔ)言具有相通信 ,學(xué)好了一門 ,再去學(xué)另外的編程語(yǔ)言 ,非??炀湍苌?手.對(duì)于初學(xué)者我建意學(xué)習(xí)C 語(yǔ)言 ,理由有很多 ,例如很多優(yōu)秀的開源性能測(cè)試工具就是用 C語(yǔ)言開發(fā)的當(dāng)然不管選擇什么編程語(yǔ)言,或者數(shù)據(jù)庫(kù),或者操作系統(tǒng),我們不要去想學(xué)哪門最好 ,學(xué)哪方面最有前途 .我們更應(yīng)該結(jié)合自身的情況,選擇最合適的 ,而不是選擇最好的 .2. 為什么要掌握計(jì)算機(jī)原理和操作系統(tǒng)知識(shí)論壇上常會(huì)看到這些問(wèn)題? Load Runner 中線程與進(jìn)程的關(guān)系 ?在什么時(shí)候用到它們 ,怎 么區(qū)別用線程還是進(jìn)程呢? Load Runner 錄制產(chǎn)生了亂碼怎么解決?怎么去發(fā)現(xiàn)內(nèi)存泄漏 ? 對(duì)那些發(fā)貼問(wèn)這些問(wèn)題的朋友
9、,我依然想請(qǐng)問(wèn)你你知道進(jìn)程和線程的概念嗎?知道進(jìn)程有幾 種狀態(tài)嗎?知道進(jìn)程間的通信是怎么進(jìn)行的嗎?死鎖,進(jìn)程與線程的區(qū)別這些概念你明白嗎?如果你連內(nèi)存的概念 ,內(nèi)存的作用 ,內(nèi)存泄露的概念都搞不清楚 ,你怎么去發(fā)現(xiàn)內(nèi)存泄露 ? 如果這些你都不知道 ,自然就不知道怎么去做性能測(cè)試分析?一些網(wǎng)友錄制腳本常常會(huì)產(chǎn)生 一些莫名奇妙的錯(cuò)誤?還震震有詞的說(shuō)這是 Load Runner 的原因 .其實(shí)要說(shuō)到底要解決這些 問(wèn)題就必需得有良好的計(jì)算機(jī)原理和操作系統(tǒng)知識(shí).弄清了進(jìn)程和線程的區(qū)別 ,你自然就明白了使用進(jìn)程資源使用高 ,但安全性要強(qiáng)于線程 ,線程資源利用率少 ,使用線程能在一個(gè)負(fù)載生 成器上運(yùn)行更多的
10、 Vuser但可能存在安全問(wèn)題.Load Runner錄制產(chǎn)生了亂碼怎么解決?為什 么會(huì)產(chǎn)生亂碼 , 你知道什么是字符集嗎 ?什么是編碼嗎?字符串在我們內(nèi)存中有是如何存放 的? ASCII編碼,ANSI編碼UNICODE編碼它們的區(qū)別是什么?這些都是操作系統(tǒng)的基礎(chǔ).掌握好了這些你自然明白 Load Runner 中產(chǎn)生亂碼的原因 .當(dāng)然計(jì)算機(jī)原理和操作系統(tǒng)的基 礎(chǔ)知識(shí)還有很多得掌握的知識(shí).像操作系統(tǒng)的體系架構(gòu)、 操作系統(tǒng)的重要基礎(chǔ)概念 ,內(nèi)存管理、存儲(chǔ) /文件系統(tǒng)、驅(qū)動(dòng) /硬件的管理 .要做好性能測(cè)試計(jì)算機(jī)原理和操作系統(tǒng)知識(shí)必不可少.3. 為什么要有良好的網(wǎng)絡(luò)基礎(chǔ)經(jīng)常在 51testing 論
11、壇中看到很多人發(fā)貼子 .像 Load Runner 中為什么要進(jìn)行關(guān)聯(lián)? ,Load Runner測(cè)試系統(tǒng)時(shí)如何選擇協(xié)議?Load Runner中的如何進(jìn)行IP欺騙?等等.這些問(wèn)題隨便一搜就能發(fā)現(xiàn)大量的貼子,其實(shí)說(shuō)到底這些問(wèn)題和Load Runner的關(guān)系并不是很大,要去解決這些問(wèn)題并不在于你對(duì) Load Runner 這個(gè)工具使用是否熟練 ,而在于我們網(wǎng)絡(luò)基礎(chǔ)知識(shí)是否扎 實(shí).例如第一個(gè)問(wèn)題Load Runner中為什么要進(jìn)行關(guān)聯(lián)?相信很多朋友都知道HTTP協(xié)議知道它是超文本傳輸協(xié)議 ,但是對(duì)于一些新手往往不能夠詳細(xì)的說(shuō)出HTTP 具體的內(nèi)容 ,像 HTTP工作的原理 ,HTTP 協(xié)議為什么要
12、使用基于 TCP 的協(xié)議而不使用 UDP 的協(xié)議 ,HTTP 工作在 OSI 參考模型的哪一層?在 HTTP 協(xié)議上數(shù)據(jù)是怎么傳輸?shù)牡鹊?而只有當(dāng)我們明白了這一切,自然而然就會(huì)明白為什么要使用關(guān)聯(lián),到最后你會(huì)發(fā)現(xiàn)這些問(wèn)題其實(shí)根Load Runner關(guān)系并不是很大 .HTTP 協(xié)議本質(zhì)上是無(wú)狀態(tài)的;對(duì)頁(yè)面的每個(gè)請(qǐng)求都將被視為新請(qǐng)求,而且默認(rèn)情況下 ,來(lái)自一個(gè)請(qǐng)求的信息對(duì)下一個(gè)請(qǐng)求不可用.在傳統(tǒng)的 Web 編程中 ,這通常意味著在每一次往返行程中 ,與該頁(yè)及該頁(yè)上的控件相關(guān)聯(lián)的所有信息都會(huì)丟失.例如 ,如果用戶將信息輸入到文本框 ,該信息將在從瀏覽器或客戶端設(shè)備到服務(wù)器的往返行程中丟失,為了使用瀏
13、覽網(wǎng)頁(yè),頁(yè)與頁(yè)是相互聯(lián)系不去丟失這些信息,于是了就從現(xiàn)了 Cookie, Session,查詢字符串等 等保持狀態(tài)的技術(shù).什么是 Cookie?什么是 Session? Cookie和Session有是怎么工作的?當(dāng) 我們明白了這些,很多的問(wèn)題就自然而然的明白了,像這些都是基礎(chǔ)的知識(shí)和Load Runner關(guān)系大嗎?不大 .Cookie 是一些少量的數(shù)據(jù) ,這些數(shù)據(jù)存儲(chǔ)在客戶端文件系統(tǒng)的文本文件中 ,或 者存儲(chǔ)在客戶端瀏覽器會(huì)話的內(nèi)存中 .Cookie 包含特定于站點(diǎn)的信息(像用戶名密碼以及我 們?cè)诰W(wǎng)站一些個(gè)性化的設(shè)置等等) ,這些信息是隨頁(yè)輸出一起由服務(wù)器發(fā)送到客戶端的.如果瀏覽器使用的是
14、cookie, 那么所有的數(shù)據(jù)都保存在瀏覽器端,比如我們登錄以后 ,服務(wù)器設(shè)置了cookie用戶名,那么當(dāng)你再次請(qǐng)求服務(wù)器的時(shí)候,瀏覽器會(huì)將用戶名一塊發(fā)送給服務(wù)器,這些變 量有一定的特殊標(biāo)記 .服務(wù)器會(huì)解釋為 cookie 變量 ,所以只要不關(guān)閉瀏覽器 ,那么 cookie 變量 一直是有效的 ,所以能夠保證長(zhǎng)時(shí)間不掉線.如果設(shè)置了的有效時(shí)間 ,那么它會(huì)將 cookie 保存在客戶端的硬盤上,下次再訪問(wèn)該網(wǎng)站的時(shí)候?yàn)g覽器先檢查有沒(méi)有cookie,如果有的話,就讀取該cookie,然后發(fā)送給服務(wù)器這些是Cookie的工作過(guò)程,??吹秸搲弦恍┡笥寻l(fā)貼子問(wèn) 使用 Load Runner 時(shí)錄制到了
15、一些 Cookie 的信息 ,它是用來(lái)做什么的 ,看起來(lái)很煩可不可以把 它刪除掉?明白了這些細(xì)節(jié)的知識(shí),你自然能明白那個(gè) Cookie 的信息能不能刪除掉 .如果 web服務(wù)器端使用的是sessi on那E么所有的數(shù)據(jù)都保存在服務(wù)器上,客戶端每次請(qǐng)求服務(wù)器的時(shí)候會(huì)發(fā)送當(dāng)前會(huì)話的 Sessi on Id,服務(wù)器根據(jù)當(dāng)前Sessio nld唯一地標(biāo)識(shí)在服務(wù)器上包含會(huì)話數(shù)據(jù) 的瀏覽器 ,以確定用戶是否登錄或具有某種權(quán)限.不同的用戶發(fā)送請(qǐng)求 Web 服務(wù)器會(huì)隨機(jī)發(fā)送一個(gè)唯一的 SessionID.而我們使用Load Runner錄制時(shí)它會(huì)把我們 SessionID寫死所以導(dǎo) 致出錯(cuò) .這時(shí)候就得使用關(guān)
16、聯(lián)了 ,這樣不僅明白了 Load Runner 怎樣使用關(guān)聯(lián) ,而且還明白了為 什么要使用關(guān)聯(lián)?對(duì)于 Load Runner測(cè)試系統(tǒng)時(shí)如何選擇協(xié)議?這個(gè)問(wèn)題也是網(wǎng)絡(luò)論討的比 較多的問(wèn)題 .要解決這個(gè)問(wèn)題同樣得依靠我們的扎實(shí)的網(wǎng)絡(luò)基礎(chǔ),而不是對(duì) Load Runner 使用的熟練程度 ,首先我們得了解 Load Runner 錄制時(shí)的工作原理了 ,Load Runner 的錄制和 QTP 不一樣 ,它不關(guān)心你的對(duì)象識(shí)別什么的,不關(guān)心你的什么界面之類的,不關(guān)心你使用什么語(yǔ)言編寫的 ,Load Runner 有一個(gè) Agent 進(jìn)程,來(lái)專門監(jiān)控客戶端和服務(wù)器之間的通信,然后用自己的函數(shù)進(jìn)行錄制.Lo
17、ad Runner錄制的時(shí)候關(guān)心的是通信包,是客戶端和服務(wù)器之間的數(shù)據(jù)包.說(shuō)到這里 ,大家就比較清楚了,為什么有的時(shí)候不能錄制呢?因?yàn)?,協(xié)議不認(rèn)識(shí) ,導(dǎo)致 LoadRunner 截獲的數(shù)據(jù)包不能解析 ,所以錄制下來(lái)是空的 .所以我們得熟悉什么是協(xié)議 ,熟悉 OSI 參考模型,OSI參考模型中各層的作用,TCP協(xié)議棧各層的作用,熟悉TCP,UDP,ICMP等等協(xié)議. 當(dāng)我們明白了這些網(wǎng)絡(luò)的基礎(chǔ)知識(shí)后我們自然會(huì)明白應(yīng)該如何去選擇協(xié)議.另外關(guān)于 LoadRunner中的如何進(jìn)行IP欺騙?要解決這個(gè)問(wèn)題同樣得有良好的網(wǎng)絡(luò)基礎(chǔ)知識(shí).其實(shí)當(dāng)我們理解了 IP 地址的格式 ,IP 地址的分類 ,子網(wǎng)掩碼的概念
18、 ,以及知道怎么去進(jìn)行非標(biāo)準(zhǔn)子網(wǎng)的劃分 方法 ,掌握了這些原理的東西 ,那么具體怎么在 Load Runner 中如何進(jìn)行 IP 欺騙 ,就非常簡(jiǎn)單 了. 當(dāng)然網(wǎng)絡(luò)基礎(chǔ)知識(shí)并不只是上面的而已,還包括路由器 ,交換機(jī) ,加密技術(shù)等等這些基礎(chǔ)的網(wǎng)絡(luò)知識(shí) ,這些遠(yuǎn)遠(yuǎn)比我們?nèi)W(xué)習(xí)怎么去使用Load Runner 更重要 .4. 為什么要掌握數(shù)據(jù)庫(kù)知識(shí)數(shù)據(jù)庫(kù)的重要性我想是不言而喻的,性能測(cè)試產(chǎn)生的一個(gè)非常大的原因是因?yàn)閿?shù)據(jù)大集中的趨勢(shì) ,測(cè)試從某種意義來(lái)講就是對(duì)數(shù)據(jù)測(cè)試,而我們企業(yè)的核心數(shù)據(jù)是放在數(shù)據(jù)庫(kù)中的現(xiàn)在大型的 WEB 應(yīng)用程序 ,都采用多層結(jié)構(gòu) ,像典型三層 ,用戶界面層 ,數(shù)據(jù)邏輯層 ,數(shù)據(jù)層 .而 數(shù)據(jù)層對(duì)我們整個(gè) WEB 應(yīng)用程序的性能是非常大的,對(duì)數(shù)據(jù)庫(kù)的基礎(chǔ)知識(shí)不懂 ,我們?cè)趺慈ミM(jìn)行性能測(cè)試分析?怎么知道確定性能產(chǎn)生的瓶頸是否是數(shù)據(jù)庫(kù)的原因,如何對(duì)系統(tǒng)進(jìn)行調(diào)優(yōu)?例如數(shù)據(jù)庫(kù)模型設(shè)計(jì)不合理 ,一條壞的 SQL 語(yǔ)句就能影響到整個(gè) WEB 應(yīng)用程序的性能 , 所以熟悉 SQL 語(yǔ)句,建表,索引
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 豐潤(rùn)墻體保溫施工方案
- 鑄鐵閘門施工方案
- 露天收縮大棚施工方案
- 吊頂工程施工方案
- 懸挑工字鋼支模架施工方案
- h型鋼施工方案
- 別墅墻面防水層施工方案
- 混凝土防水密實(shí)劑施工方案
- 學(xué)校鐵藝門拆除施工方案
- 玫瑰金鏡面線條施工方案
- 腰椎術(shù)后失敗綜合征
- 廣告學(xué)概論課件
- 可上傳班級(jí)管理(一到三章)李學(xué)農(nóng)主編
- 貴州人民版五年級(jí)勞動(dòng)下冊(cè)全冊(cè)教案
- 2024年高考英語(yǔ)易錯(cuò)題 閱讀理解:推理判斷題4大陷阱(教師版新高考專用)
- 醫(yī)院環(huán)境衛(wèi)生學(xué)監(jiān)測(cè)和院感控制課件
- 《力與形變》教學(xué)課件(一)
- 湖北省2024年村干部定向考試真題
- 部編版三年級(jí)語(yǔ)文下冊(cè)期中試卷及參考答案
- 【小學(xué)數(shù)學(xué)教育中創(chuàng)新思維的培養(yǎng)探究7900字(論文)】
- JT-T-1199.1-2018綠色交通設(shè)施評(píng)估技術(shù)要求第1部分:綠色公路
評(píng)論
0/150
提交評(píng)論