LR測試

LoadRunner種預測系統行性能負載測試工具通模擬千萬用戶實施併發負載及實性能監測式確認查找問題LoadRunner可以整企業架構進行測試通使用 LoadRunner企業能限度縮短測試間優化性能加速應用系統發佈週期 LoadRunner種適用於各類體系架構自負載測試工具能預測系統行並優化系統性能.
總種自化測試工具.
詳見:http://baike.baidu.com/view/812367.htmjavascript

一、web_add_cookie("login=admin; DOMAIN=127.0.0.1");html

 
爲Vuser添加一個cookie信息。
二、web_link("在測試結果中顯示的名稱","TEXT=須要的超連接名",LAST);
e.g.
web_link("click link",
         "TEXT=link",
         LAST);
三、lr_think_time(1800);
設置思考時間,單位秒
四、lr_convert_string_encoding();
將環球影視轉換成utf-8格式
e.g.
lr_convert_string_encoding("環球影視",
 LR_ENC_SYSTEM_LOCALE,
 LR_ENC_UTF8,
 "param");
五、web_url("測試結果中顯示的名稱","URL=須要訪問的超連接地址",LAST);
e.g.
web_url("測試系統地址","URL=http://192.168.**:8080/test/test.jsp",LAST);
六、直接發送給對應頁面相關數據
e.g.
web_submit_data("login.action", 
"Action=http://192.168.**:8080/test/login.action", 
"Method=POST", 
"RecContentType=text/html", 
"Referer=http://192.168.**:8080/test/login.jsp ", 
"Snapshot=t5.inf", 
"Mode=HTTP", 
"EncodeAtSign=YES", 
ITEMDATA, 
"Name=userEmail", "Value={user2}", ENDITEM, 
"Name=password", "Value={pwd}", ENDITEM, 
LAST);
七、打印參數值到日誌
lr_log_message("==========================user=",lr_eval_string("{user2}"));

QA Load:Compuware公司的QALoad是客戶/服務器系統、企業資源配置(ERP)和電子商務應用的自動化負載測試工具。QALoad是QACenter性能版的一部分,它經過可重複的、真實的測試可以完全地度量應用的可擴展性和性能。QACenter聚集完整的跨企業的自動測試產品,專爲提升軟件質量而設計。QACenter能夠在整個開發生命週期、跨越多種平臺、自動執行測試任務。java

SilkPerformer:一種在工業領域最高級的企業級負載測試工具。它能夠模仿成千上萬的用戶在多協議和多計算的環境下工做。無論企業電子商務應用的規模大小及其複雜性,經過SilkPerformer,都可以在部署前預測它的性能。可視的用戶化界面、實時的性能監控和強大的管理報告能夠幫助咱們迅速的解決問題,例如加快產品投入市場的時間,經過最小的測試周期保證系統的可靠性,優化性能和確保應用的可擴充性。linux


LoadRunner:一種較高規模適應性的,自動負載測試工具,它能預測系統行爲,優化性能。LoadRunner強調的是整個企業的系統,它經過模擬實際用戶的操做行爲和實行實時性能監測,來幫助您更快的確認和查找問題。此外,LoadRunner 能支持最寬範的協議和技術,爲您的特殊環境,量身定作地提供解決方案。ios

  WebRunner:是RadView公司推出的一個性能測試和分析工具,它讓web應用程序開發者自動執行壓力測試;webload經過模擬真實用戶的操做,生成壓力負載來測試web的性能,用戶建立的是基於javascript的測試腳本,稱爲議程agenda,用它來模擬客戶的行爲,經過執行該腳原本衡量web應用程序在真實環境下的性能。web

  IBM Rational Performance Tester(簡稱 RPT)也是一款性能測試工具,適用於基於 Web 的應用程序的性能和可靠性測試。Rational Performance Tester 將易用性與深刻分析功能相結合,從而簡化了測試建立、負載生成和數據收集,以幫助確保應用程序具備支持數以千計併發用戶並穩定運行的性能。 數據庫

還有一些開源的軟件

Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟件作壓力測試,它最初被設計用於Web應用測試但後來擴展到其餘測試領域。 它能夠用於測試靜態和動態資源例如靜態文件、Java 小服務程序、CGI 腳本、Java 對象、數據庫, FTP 服務器, 等等。JMeter 能夠用於對服務器、網絡或對象模擬巨大的負載,來在不一樣壓力類別下測試它們的強度和分析總體性能。 windows

  AutoBench 是一款基於httperf的Perl腳本。它會在一次測試中調用屢次httperf來對web服務器進行測試,每次會按照給定的參數增長併發鏈接數,將 httperf的測試結果保存爲CSV格式的文件,該文件能夠被Excel直接讀取,方便生成測試報告。藉助於autobench自帶的 bench2graph工具能夠生成漂亮的測試結果對比圖。 性能優化

  ApacheBench 工具程式(ab)是 Apache 網站伺服器軟體的一個附帶的工具軟體,專門用來執行網站伺服器的運行效能,特別是針對 Apache 網站伺服器 的效能分析。這支程式本來是用來檢測 Apache 網站伺服器(Web Server) 所可以提供的效能,特別是能夠看出 Apache 網站伺服器能提供每秒能送出多少網頁,固然的,也能夠用在任何其餘的網站伺服器 Apache ab的全稱是ApacheBench,是 Apache 附帶的一個小工具,專門用於 HTTP Server 的benchmark testing,能夠同時模擬多個併發請求。 服務器

  curl-loader(也被稱爲「omes-NIK」和「davilka」)是一個開源的C語言編寫的工具,模擬應用負載和成千上萬的幾十萬人的HTTP / HTTPS和FTP/ FTPS的客戶端應用程序的行爲,每一個有其本身的源IP地址。相反,其餘curl-loader使用真正的C編寫的客戶端協議棧,即libcurl和TLS/ openssl的SSL的HTTP和FTP協議棧,支持登陸和驗證口味和模擬用戶行爲的工具。

  Iago 是一個網站負載測試工具,Iago 針對一個給定的網站進行訪問錄製併合成流量數據。它不一樣於其餘的負載生成工具,它試圖保持恆定的請求率。例如若是你想按每分鐘100K來請求您的服務,Iago 會試圖保持這個速度進行測試。

  Pylot 是一款開源的用以測試 Web Service性能和擴展性的工具,它運行HTTP負載測試,這對於制定容量計劃、肯定基準點、分析系統瓶頸以及系統調優都很是有用。在使用過程 中,Pylot會發起併發請求(HTTP Requests),檢驗服務器響應,以及帶有相關指標的報表。它經過GUI或者Shell/Console來執行和監視對被測試網站的測試過程。


總結起來應該算一個問題、要作好性能測試須要有哪些知識儲備?
作5年的測試生涯中、也就用過幾回Apache的AB和LR。

一、須要對硬件有必定的認識;
你須要對CPU、MEM、I/O、Disk等等都有必定認識、無論你是C/S仍是B/S架構的軟件、最終都須要運行在這些硬件上面、不少時候吧普通機械硬盤換成SSD以後你才知道瓶頸原來在I/O上

二、須要對操做系統有比較深刻的瞭解;
這點應該不會有什麼疑問、你全部的應用都是跑在操做系統上的、不論是linux仍是windows、你都須要瞭解不少才行。若是你對LR足夠熟悉你會發現LR的數據來源都是從操做系統獲取的、因此你能夠不用LR、本身從操做系統獲取到這些數據、好比windows的"perfmon"能獲取到全部的LR能提供的性能數據、磁盤IO、網絡性能、CPU、內存、網絡、甚至是字節大小你均可以獲得、linux下能夠用uptime、vmstat、top、iostat、free、ulimit等等工具。


三、數據庫;
若是你的程序涉及到數據庫、那麼不要忘記多學習數據庫知識、我這幾年作的項目都不用數據庫、致使數據庫方面的暫知識都還給老師了。

四、對本身所測試程序足夠了解;
你必需要很是清楚的瞭解你本身要測試的程序業務流程、你操做程序的每個動做都要知道是哪個exe或者是哪個模塊負責的。

五、對性能測試有必要的認識;
性能測試真正的意義在於經過性能測試獲得的數據、圖表來分析肯定性能瓶頸的點在哪裏
 


性能測試是個很是普遍的概念,若是從被測系統的角度看,能夠分爲客戶端性能測試、服務器端性能測試;若是隻作服務器的性能測試,能夠細分爲負載測試、壓力測試、併發測試、穩定性測試、容量測試等。
你說的LR,應該是說服務器性能測試,我這邊就從服務器性能測試的角度分析一下,服務器性能測試到底要作哪些事情?
主要步驟是分三步:
1、設計測試方案
測試方案就是在你理解服務器架構的基礎上,根據服務器的性能基線,設計出的一個詳細測試方案,內容包含你要測的服務器須要測試哪些場景,是單個場景仍是多個場景混在一塊兒的綜合場景,測試完成以後,最終須要達到什麼樣的一個性能指標,另外還須要設計出一個機器人的行爲邏輯,這個行爲邏輯儘量去真實的模擬用戶的行爲邏輯,通常能夠根據封測時的運營數據。
2、機器人開發
根據上一步設計出的測試方案,進行機器人代碼的開發。
市面上可選擇的機器人比較多,若是你用LR,LR是支持用C語言、java語言開發插件,在LR的代碼中動態加載進來便可進行充分的壓測,LR的缺點就是隻能在windows機器上運行,若是你的服務器部署在IDC機房,PC機跟服務器之間的上行帶寬有限的狀況下,壓力很難上的去。
這裏推薦下騰訊內部的測試工具,WeTest壓測( WeTest服務器性能|壓力|負載測試 高併發,實時性能報表,專家級性能優化建議【騰訊WeTest】),機器人都是部署在IDC機房的,會根據你的服務器選擇距離最近的一個節點去產生壓力,你只須要寫下機器人代碼,填寫服務器IP便可開始壓測。
3、數據分析 在服務器性能測試過程當中,可能會反覆測試,測到達到服務器的性能指標爲止。在此期間,你須要定位到服務器的性能瓶頸在哪裏,CPU、內存、網絡、IO這四個系統方面的瓶頸,仍是代碼寫的有問題。這個數據分析的過程是很是有技術含量的一件事情,須要去了解服務器內核,須要去了解代碼是如何實現的。數據分析完成後,再輸出一份有技術含量的報告,就完美了!
相關文章
相關標籤/搜索