一、占有率分析
1. 平均事務響應時間
Average Transaction Response Time 優秀:<2s
良好:2-5s
及格:6-10s
不及格:>10s
2. 每秒點擊率
Hits per Second
當增大系統的壓力(或增加並發用戶數)時,吞吐率和TPS的變化曲線呈大體一致,則系統基本穩定。若壓力增大時,吞吐率的曲線增加到一定程度后出現變化緩慢,甚至平坦,很可能是網絡出現帶寬瓶頸,同理若點擊率/TPS曲線出現變化緩慢或者平坦,很可能是服務器響應時間增加,觀察服務器資源使用情況,確定是否是服務器問題。
3. 請求響應時間
Time to Last Byte
4. 每秒系統處理事務數
Transaction per second
5. 吞吐量
6. CPU利用率
Processor / %Processor Time 好:70%
壞:85%
很差:90%+
7. 數據庫操作消耗的CPU時間
Processor / %User Time 如果該值較大,可以考慮是否能通過友好算法等方法降低這個值。如果該服務器是數據庫服務器, Processor\%User Time 值大的原因很可能是數據庫的排序或是函數操作消耗了過多的CPU時間,此時可以考慮對數據庫系統進行優化。
8. 核心態CPU平均利用率
Processor /%Privileged Time 如果該參數值和"Physical Disk"參數值一直很高,表明I/O有問題。可考慮更換更快的硬盤系統
9. 處理隊列中的線程數
Processor / Processor Queue Length 如果該值保持不變(>=2)個並且%Processor Time 超過90%,那么可能存在處理器瓶頸。如果發現超過2,而處理器的利用率卻一直很低,那么或許更應該去解決處理器阻塞問題,這里處理器一般不是瓶頸。
10. 文件系統緩存
Memory / Cache Bytes 50%的可用物理內存
11. 剩余的可用內存
Memory / Avaiable Mbytes 至少要有10% 的物理內存值
12. 每秒下載頁數
Memory / pages/sec 好:無頁交換
壞:CPU每秒10個頁交換
很差:更多的頁交換
13. 頁面讀取操作速率
Memory / page read/sec 如果頁面讀取操作速率很低,同時 % Disk Time 和 Avg.Disk Queue Length的值很高,則可能有磁盤瓶徑。但是,如果隊列長度增加的同時頁面讀取速率並未降低,則內存不足。
14. 物理磁盤利用率
Physical Disk / %Disk Time 好:<30%
壞:<40%
很差:<50%+
15. 物理磁盤平均磁盤I/O隊列長度
Physical Disk / Avg.Disk Queue Length 該值應不超過磁盤數的1.5~2 倍。要提高性能,可增加磁盤
16. 網絡吞吐量
Network Interface / Bytes Total/sec 判斷網絡連接速度是否是瓶頸,可以用該計數器的值和當前網絡的帶寬,結果應該小於50%
17. 數據高速緩存區命中率 命中率應大於0.90最好
18. 共享區庫緩存區命中率 命中率應大於0.99
19. 監控 SGA 中字典緩沖區的命中率 命中率應大於0.85
20. 檢測回滾段的爭用 小於1%
21. 監控 SGA 中重做日志緩存區的命中率
應該小於1%
版本要求
LoadRunner 分為Windows 版本和Unix 版本。如果所有測試環境基於Windows平台,那么只要安裝Windows 版本即可。
LoadRunner的Unix版本僅提供Load Generator組件的安裝(即LoadRunner中的負載生成器)。也就是說,這個負載生成器可以在Unix環境下安裝和運行,並提供給Controller進行遠程管理。但是,腳本的錄制和場景的設計必須在Windows平台完成。
系統要求
運行LoadRunner,內存最好在128M 以上,LoadRunner7.8 的最低要求。內存最好在512M 以上,安裝LoadRunner 的磁盤空間至少剩余500M。操作系統最好為Windows 2000。
二、系列重要參數
(1)LR系列函數:
lr_start_transaction 為性能分析標記事務的開始
lr_end_transaction 為性能分析標記事務的結束
lr_rendezvous 在 Vuser 腳本中設置集合點
lr_think_time 暫停 Vuser 腳本中命令之間的執行
lr_end_sub_transaction 標記子事務的結束以便進行性能分析
lr_end_transaction 標記 LoadRunner 事務的結束
Lr_end_transaction("trans1",Lr_auto);
lr_end_transaction_instance 標記事務實例的結束以便進行性能分析
lr_fail_trans_with_error 將打開事務的狀態設置為 LR_FAIL 並發送錯誤消息
lr_get_trans_instance_duration 獲取事務實例的持續時間(由它的句柄指定)
lr_get_trans_instance_wasted_time 獲取事務實例浪費的時間(由它的句柄指定)
lr_get_transaction_duration 獲取事務的持續時間(按事務的名稱)
lr_get_transaction_think_time 獲取事務的思考時間(按事務的名稱)
lr_get_transaction_wasted_time 獲取事務浪費的時間(按事務的名稱)
lr_resume_transaction 繼續收集事務數據以便進行性能分析
lr_resume_transaction_instance 繼續收集事務實例數據以便進行性能分析
lr_set_transaction_instance_status 設置事務實例的狀態
lr_set_transaction_status 設置打開事務的狀態
lr_set_transaction_status_by_name 設置事務的狀態
lr_start_sub_transaction 標記子事務的開始
lr_start_transaction 標記事務的開始
Lr_start_transaction("trans1");
lr_start_transaction_instance 啟動嵌套事務(由它的父事務的句柄指定)
lr_stop_transaction 停止事務數據的收集
lr_stop_transaction_instance 停止事務(由它的句柄指定)數據的收集
lr_wasted_time 消除所有打開事務浪費的時間
lr_get_attrib_double 檢索腳本命令行中使用的 double 類型變量
lr_get_attrib_long 檢索腳本命令行中使用的 long 類型變量
lr_get_attrib_string 檢索腳本命令行中使用的字符串
lr_user_data_point 記錄用戶定義的數據示例
(2)相關腳本:
lr_whoami 將有關 Vuser 腳本的信息返回給 Vuser 腳本
lr_get_host_name 返回執行 Vuser 腳本的主機名
lr_get_master_host_name 返回運行 LoadRunner Controller 的計算機名
lr_eval_string 用參數的當前值替換參數
lr_save_string 將以 NULL 結尾的字符串保存到參數中
lr_save_var 將變長字符串保存到參數中
lr_save_datetime 將當前日期和時間保存到參數中
lr _advance_param 前進到下一個可用參數
lr _decrypt 解密已編碼的字符串
lr_eval_string_ext 檢索指向包含參數數據的緩沖區的指針
lr_eval_string_ext_free 釋放由 lr_eval_string_ext 分配的指針
lr_save_searched_string 在緩沖區中搜索字符串實例,並相對於該字符串實例,將該緩沖區的一部分保存到參數中
lr_debug_message 將調試信息發送到輸出窗口
lr_error_message 將錯誤消息發送到輸出窗口
lr_get_debug_message 檢索當前消息類
lr_log_message 將消息發送到日志文件
lr_output_message 將消息發送到輸出窗口
lr_set_debug_message 設置調試消息類
lr_vuser_status_message 生成帶格式的輸出,並將其寫到 ControllerVuser 狀態區域
lr_message 將消息發送到 Vuser 日志和輸出窗口
lr_load_dll 加載外部 DLL
lr_peek_events 指明可以暫停 Vuser 腳本執行的位置
lr_think_time 暫停腳本的執行,以模擬思考時間(實際用戶在操作之間暫停以進行思考的時間)
lr_continue_on_error 指定處理錯誤的方法
lr_continue_on_error (0);lr_continue_on_error ⑴;
lr_rendezvous 在 Vuser 腳本中設置集合點
TE_wait_cursor 等待光標出現在終端窗口的指定位置
TE_wait_silent 等待客戶端應用程序在指定秒數內處於靜默狀態
TE_wait_sync 等待系統從 X-SYSTEM 或輸入禁止模式返回
TE_wait_text 等待字符串出現在指定位置
TE_wait_sync_transaction 記錄系統在最近的 X SYSTEM 模式下保持的時間
(3)Web函數:
web_custom_request 允許您使用 HTTP 支持的任何方法來創建自定義 HTTP 請求
web_image 在定義的圖像上模擬鼠標單擊
web_link 在定義的文本鏈接上模擬鼠標單擊
web_submit_data 執行"無條件"或"無上下文"的表單
web_submit_form 模擬表單的提交
web_url 加載由"URL"屬性指定的 URL
web_set_certificate 使 Vuser 使用在 Internet Explorer 注冊表中列出的特定證書
web_set_certificate_ex 指定證書和密鑰文件的位置和格式信息
web_set_user 指定 Web 服務器的登錄字符串和密碼,用於 Web 服務器上已驗證用戶身份的區域
web_cache_cleanup 清除緩存模擬程序的內容
web_find 在 HTML 頁內搜索指定的文本字符串
web_global_verification 在所有后面的 HTTP 請求中搜索文本字符串
web_image_check 驗證指定的圖像是否存在於 HTML頁內
web_reg_find 在后面的 HTTP 請求中注冊對 HTML源或原始緩沖區中文本字符串的搜索
web_disable_keep_alive 禁用 Keep-Alive HTTP 連接
web_enable_keep_alive 啟用 Keep-Alive HTTP 連接
web_set_connections_limit 設置 Vuser 在運行腳本時可以同時打開連接的最大數目
web_concurrent_end 標記並發組的結束
web_concurrent_start 標記並發組的開始
web_add_cookie 添加新的 Cookie 或修改現有的 Cookie
web_cleanup_cookies 刪除當前由 Vuser 存儲的所有 Cookie
web_remove_cookie 刪除指定的 Cookie
web_create_html_param 將 HTML 頁上的動態信息保存到參數中。(LR 6.5 及更低版本)
web_create_html_param_ex 基於包含在 HTML 頁內的動態信息創建參數(使用嵌入邊界)(LR 6.5 及更低版本)。
web_reg_save_param 基於包含在 HTML 頁內的動態信息創建參數(不使用嵌入邊界)
web_set_max_html_param_len 設置已檢索的動態 HTML 信息的最大長度
web_add_filter 設置在下載時包括或排除 URL 的條件
web_add_auto_filter 設置在下載時包括或排除 URL 的條件
web_remove_auto_filter 禁用對下載內容的篩選
web_add_auto_header 向所有后面的 HTTP 請求中添加自定義標頭
web_add_header 向下一個 HTTP 請求中添加自定義標頭
web_cleanup_auto_headers 停止向后面的 HTTP 請求中添加自定義標頭
web_remove_auto_header 停止向后面的 HTTP 請求中添加特定的標頭
web_revert_auto_header 停止向后面的 HTTP 請求中添加特定的標頭,但是生成隱性標頭
web_save_header 將請求和響應標頭保存到變量中
web_set_proxy 指定將所有后面的 HTTP 請求定向到指定的代理服務器
web_set_proxy_bypass 指定 Vuser 直接訪問(即不通過指定的代理服務器訪問)的服務器列表
web_set_proxy_bypass_local 指定 Vuser 對於本地 (Intranet) 地址是否應該避開代理服務器
web_set_secure_proxy 指定將所有后面的 HTTP 請求定向到服務器
web_set_max_retries 設置操作步驟的最大重試次數
web_set_timeout 指定 Vuser 等待執行指定任務的最長時間
web_convert_param 將 HTML 參數轉換成 URL 或純文本
web_get_int_property 返回有關上一個 HTTP 請求的特定信息
web_report_data_point 指定數據點並將其添加到測試結果中
web_set_option 在非 HTML 資源的編碼、重定向和下載區域中設置 Web 選項
web_set_sockets_option 設置套接字的選項