A. loadrunner jmeter哪個更適合做性能測試
JMeter更勝任。
作為性能測試工具,首先看功能性:
Critical Features:
1、支持HTTP/HTTPS協議,能夠發送HTTP/HTTPS request;
2、支持用戶場景(借用了LR中的詞彙),能夠以某種比例在不同的業務上分布用戶數量;
3、支持事務;
4、支持嫌頌顫參數化和關聯(還是借用LR中的詞彙);
5、能夠獲得和匯總請求響應時間等數據,能夠提供響應時間匯總、事務/請求處理成功率等數據報表;
Non-Critical Features:
1、能夠以漂亮的圖表展示出結果數據;
2、能夠提供漂亮的用戶界面(櫻型GUI);
3、能夠提供良好的錄制功能和調試環境;
如上可以看到,大體上兩者都能滿足測試需要。但是在使用便利上,JMeter有如下優勢:
1、能夠靈活的擴展,例如,我的應用的後端(bakcend)和前端的通訊使用的是RPC方式,則我希望工具能夠通過我已有的API直接對後端產生負載,進行負載測試;
2、可以使用芹敗命令行方式,採用批處理模式運行(不需要GUI),運行後的結果能夠通過Email等發送給我,或是直接integration到一個可發布的web頁面上;
3、收集得到的數據能夠很容易的進行再處理(例如,以XML格式存儲raw data);
4、工具本身具有很好的可信度,可以通過查看代碼等方式,了解當意外發生時是工具本身的問題或是應用的問題。
B. 我的電腦是聯想Z460筆記本,學軟體測試要裝LoadRunner,可是我怎麼裝就裝不上!
現在網上下一個破解版的lR8的軟體和注冊碼,然後把防火牆殺毒軟體暫時關閉,然後安裝,安裝後把其中的破解文件到相應的目雹隱錄後,從程序中選ld-configrationd的注冊碼寫進去就可以了。如果第一次安裝不成功,卸載重新源銀廳裝的時候要特別注意把注冊碼搏野的相關內容刪除。
C. 如何巧用軟體測試工具LoadRunner中的隨機函數
1. Intweb_reg_save_param("參數名","LB=左邊界","RB=右邊界",LAST);/注冊函數,在參數值出現的前面使用,注冊成功時返回值為0,注冊失敗時返回值為1。左右邊界需根據TreeView里相關步驟的SeverResponse代碼來確定。用以磨銷上函數能獲取第一個符合條件的數值。
2. web_reg_save_param("參數名」,"LB=左邊界」,"RB=右邊界","Ord=All",LAST);/當參數瞎雹游有多個值時,加上"Ord=All」後可獲取所有的數值。注冊成功後,{參數名_count}表示取得的數值個數,{參數名_1}為第一個數值,{參數名_2}為第二個數值。
3. lr_save_string(「字元串變數」,"參數名")/將字元變數里的值傳遞給指定參數。通過該函數來改變DataFile類型參數的數值。
4. lr_eval_string("{參數名}")/取得參數的數值。可取得已注冊參數或DataFile類型參數的數值。eval就是evaluation(估價,評價,賦值)的縮寫。
5. int sprintf(char * string , const char*format_string[,args]);/字元串賦值函數
Action()
{
int index=56;
charfilename[64],*suffix="txt";
sprintf(filename,"log_%d.%s",index,suffix);
lr_output_message("Thenewfilenameis%s",filename);
return 0;
}
Output:Thenewfilenameislog_56.txt
6. char*strcat(char*to,constchar*from);/將一字元串追加到另一字元串後面
7. web_find("find_time","What=2006-03-0118:21:16.882",LAST);/增加檢查點,檢查「2006-03-0118:21:16.882」這個字元串是否出現在當前頁面上。find_time為自己任意輸入的檢查點名稱。
8. 事務函數
lr_end_sub_transaction/標記子事務的結束以便進行性肆並能分析
lr_end_transaction/標記LoadRunner事務的結束
lr_end_transaction_instance/標記事務實例的結束以便進行性能分析
lr_fail_trans_with_error/將打開事務的狀態設置為LR_FAIL並發送錯誤消息
lr_get_trans_instance_ration/獲取事務實例的持續時間(由它的句柄指定)
lr_get_trans_instance_wasted_time/獲取事務實例浪費的時間(由它的句柄指定)
lr_get_transaction_ration/獲取事務的持續時間(按事務的名稱)
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_instance/啟動嵌套事務(由它的父事務的句柄指定)
lr_stop_transaction/停止事務數據的收集
lr_stop_transaction_instance/停止事務(由它的句柄指定)數據的收集
lr_wasted_time/消除所有打開事務浪費的時間
lr_end_sub_transaction/標記子事務的結束以便進行性能分析
r_end_transaction/標記LoadRunner事務的結束
lr_end_transaction_instance/標記事務實例的結束以便進行性能分析
lr_fail_trans_with_error/將打開事務的狀態設置為LR_FAIL並
9. 命令行分析函數
lr_get_attrib_double/檢索腳本命令行中使用的double類型變數
lr_get_attrib_long/檢索腳本命令行中使用的long類型變數
lr_get_attrib_string/檢索腳本命令行中使用的字元串
10. 信息性函數
lr_user_data_point/記錄用戶定義的數據示例
lr_whoami/將有關Vuser腳本的信息返回給Vuser腳本
lr_get_host_name/返回執行Vuser腳本的主機名
lr_get_master_host_name/返回運行LoadRunnerController的計算機名
11. 字元串函數
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/在緩沖區中搜索字元串實例,並相對於該字元串實例,該緩沖區的一部分保存到參數中
12. 消息函數
lr_debug_message/將調試消息發送到輸出窗口
lr_error_message/將錯誤消息發送到輸出窗口
lr_get_debug_message/檢索當前的消息類
lr_log_message/將輸出消息直接發送到output.txt文件,此文件位於Vuser腳本目錄中。該函數有助於防止輸出消息干擾TCP/IP通信。
lr_output_message/將消息發送到輸出窗口
lr_set_debug_message/為輸出消息設置消息類
lr_vuser_status_message/生成格式化輸出並將其列印到ControllerVuser狀態區域。
lr_message/將消息發送到Vuser日誌和輸出窗口
13. 操作函數
web_custom_request允許您使用HTTP支持的任何方法來創建自定義HTTP請求
web_image在定義的圖像上模擬滑鼠單擊
web_link在定義的文本鏈接上模擬滑鼠單擊
web_submit_data執行「無條件」或「無上下文」的表單
web_submit_form模擬表單的提交
web_url載入由「URL」屬性指定的URL
14. 身份驗證函數
身份驗證函數web_set_certificate使Vuser使用在InternetExplorer注冊表中列出的特定證書
身份驗證函數web_set_certificate_ex指定證書和密鑰文件的位置和格式信息
身份驗證函數web_set_user指定Web伺服器的登錄字元串和密碼,用於Web伺服器上已驗證用戶身份的區域
15. 緩存函數
緩存函數web_cache_cleanup清除緩存模擬程序的內容
16. 檢查函數
檢查函數web_find在HTML頁內搜索指定的文本字元串
檢查函數web_global_verification在所有後面的HTTP請求中搜索文本字元串
檢查函數web_image_check驗證指定的圖像是否存在於HTML頁內
檢查函數web_reg_find在後面的HTTP請求中注冊對HTML源或原始緩沖區中文本字元串的搜索
17. 連接定義函數
連接定義函數web_disable_keep_alive禁用Keep-AliveHTTP連接
連接定義函數web_enable_keep_alive啟用Keep-AliveHTTP連接
連接定義函數web_set_connections_limit設置Vuser在運行腳本時可以同時打開連接的最大數目
18. 並發組
web_concurrent_end標記並發組的結束
web_concurrent_start標記並發組的開始
19. cook函數
web_add_cookie添加新的Cookie或修改現有的Cookie
web_cleanup_cookies刪除當前由Vuser存儲的所有Cookie
web_remove_cookie刪除指定的Cookie
20. 關聯函數
web_create_html_param將HTML頁上的動態信息保存到參數中。(LR6.5及更低版本)
web_create_html_param_ex基於包含在HTML頁內的動態信息創建參數(使用嵌入邊界)(LR6.5及更低版本)。
這是一些常用函數。希望採納謝謝
D. 如何使用LoadRunner監控linux與Windows
一、監控windows系統:
1、監視連接前的准備工作
1)進入被監視windows系統,開啟以下二個服務Remote Procere Call(RPC) 和Remote Registry Service (開始—)運行 中輸入services.msc,開啟對應服務即可)。
2)在被監視的WINDOWS機器上:右擊我的電腦,選擇管理->共享文件夾->共享 在這裡面要有C$這個共享文件夾 (要是沒有自己手動加上)。
3)在安裝LR的機器上,開始—》運叢帶行,輸入 \\被監視機器IP\C$ 然後輸入管理員帳號和密碼,如果能看到被監視機器的C盤了,就說明你得到了那台機器的管理員許可權,可以使用LR去連接了。(LR要連接WINDOWS機器進行監視要有管理員帳號和密碼才行。)
問題:在執行步驟3)時,輸入 \\被監視機器IP\C$,出現不能以administrator身份訪問被監控系統(若採用這種方式用LR對其監控的話,會提示:「找不到網路路徑」)的情況,現象就是用戶名輸入框是灰色的,並且默認用戶是guest。
解決辦法:這是安全策略的設置問題(管理工具 -> 本地安全策略 -> 安全選項 ->「網路訪問:本地帳戶的共享和安全模式」)。默認情況下,XP的訪問方式是「僅來賓」的方式,如果你訪問它,當然就固定為Guest來訪問,而guest賬戶沒有監控的許可權,所以要把訪問方式改為「經典」模式,這樣就可以以administrator的身份登陸了。修改後,再次執行步驟3),輸入管理員用戶名和密碼,就可以訪問被監控機器C盤了。
若這樣都不行的話(可能是其它問題引起的),那隻好採取別的方法了。在伺服器的機子上,通過windows自帶的「性能日誌和警報」下的「計數器日誌」中新增加一個監控日誌(管理工具—)性能—)性能日誌和警報),配置好日誌,也能監控伺服器的cpu、memory、disk等計數器。當然,這種方法就不是用LR來監控了。
2、用LR監視windows的步驟
乎鄭啟在controller 中,Windows Resources窗口中右擊滑鼠選擇Add Measurements,添加被監控windows的IP地址,選擇所屬系統,然後選擇需要監控的指標就可以開始監控了。
二、監控linux
1 准備工作
可以通過兩種方法驗證伺服器上是否配置了rstatd守護程序:
①使用rup命令,它用於報告計算機的各種統計信息,其中就包括rstatd的配置信息。使用命令rup 10.130.61.203,此處10.130.61.203是要監視的linux/Unix伺服器的Ip,如果該命令返回相關的統計信息。則表示已經配置並且激活了rstatd守護進程;若未返回有意義的統計信息,或者出現一條錯誤報告,則表示rstatd守護進程尚未被配置或有問題。
②使用find命令
#find / -name rpc.rstatd,該命令用於查找系統中是否存在rpc.rstatd文件,如果沒有,說明系統沒有安裝歲如rstatd守護程序。
如果伺服器上沒有安裝rstatd程序(一般來說LINUX都沒有安裝),需要下載一個包才有這個服務,包名字是rpc.rstatd-4.0.1.tar.gz. 這是一個源碼,需要編譯,下載並安裝rstatd(可以在[url]http://sourceforge.net/projects/[/url]rstatd<wbr>這個地址下載)
下載後,開始安裝,安裝步驟如下:
tar -xzvf rpc.rstatd-4.0.1.tar.gz
cd rpc.rstatd-4.0.1/
./configure —配置操作
make —進行編譯
make install —開始安裝
rpc.rstatd —啟動rstatd進程
2)安裝完成後配置rstatd 目標守護進程xinetd,它的主配置文件是/etc/xinetd.conf,它裡面內容是一些如下的基本信息:
#
# xinetd.conf
#
# Copyright (c) 1998-2001 SuSE GmbH Nuernberg, Germany.
# Copyright (c) 2002 SuSE Linux AG, Nuernberg, Germany.
#
defaults
{
log_type = FILE /var/log/xinetd.log
log_on_success = HOST EXIT DURATION
log_on_failure = HOST ATTEMPT
#only_from = localhost
instances = 30
cps = 50 10
#
# The specification of an interface is interesting, if we are on a firewall.
# For example, if you only want to provide services from an internal
# network interface, you may specify your internal interfaces IP-Address.
#
# interface = 127.0.0.1
}
includedir /etc/xinetd.d
我們這里需要修改的是/etc/xinetd.d/下的三個conf文件 rlogin,rsh,rexec這三個配置文件,打這三個文件里的disable = yes都改成 disable = no ( disabled 用在默認的 {} 中 禁止服務)或是把# default: off都設置成 on 這個的意思就是在xinetd啟動的時候默認都啟動上面的三個服務!
說明:我自己在配置時,沒有disable = yes這項,我就將# default: off改為:default: on,重啟後(cd /etc/init.d/ ./xinetd restart)通過netstat -an |grep 514查看,沒有返回。然後,我就手動在三個文件中最後一行加入disable = no,再重啟xinetd,再使用netstat -an |grep 514查看,得到tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN結果,表明rsh伺服器已經啟動。
只要保證Linux機器上的進程里有rstatd和xinetd這二個服務就可以用LR去監視了。
兩點小的技巧:
①檢查是否啟動: rsh server 監聽的TCP 是514。
[root@mg04 root]# netstat -an |grep 514
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN
如果能看到514在監聽說明rsh伺服器已經啟動。
②檢查是否啟動: rstatd
輸入命令: rpcinfo -p
如果能看到類似如下信息:
程序 版本 協議 埠
100001 5 udp 937 rstatd
100001 4 udp 937 rstatd
100001 3 udp 937 rstatd
100001 2 udp 937 rstatd
100001 1 udp 937 rstatd
那就說明rstatd服務啟動了,(當然這里也可以用ps ax代替)
③重起xinetd方法:
在suse linux如下操作:
cd /etc/init.d/
./xinetd restart
看到網上有的地方說使用如下命令:
# service xinetd reload
# /sbin/service xinetd rstart
不知道是在什麼系統用的。
④安裝rsh,和rsh-server兩個服務包方法
a. 卸載rsh
# rpm –q rsh----------查看版本號
# rpm -e 版本號---------卸載該版本。
b.安裝
# rpm –ivh rsh-0.17-14.i386.rpm rsh-server-0.17-14.i386.rpm
⑤在啟動rpc.rstatd時,會報錯「Cannot register service: RPC: Unable to receive;errno = Ction refused」。
解決方法如下:
# /etc/init.d ./portmap start
# /etc/init.d ./nfs start
然後再次啟動rpc.rstatd就好了。
最後,在controller中,將UNIX resources拖放到右邊窗口裡面,右擊滑鼠選擇Add Measurements,添加被監控linux的IP地址,然後選擇需要監控的指標就可以了。
三、監控UNIX
lr監控UNIX,UNIX先啟動一rstatd服務
以下是在IBM AIX系統中啟動rstatd服務的方法:
1、 使用telnet以root用戶的身份登錄入AIX系統
2、 在命令行提示符下輸入:vi/etc/inetd.conf
3、 查找rstatd,找到
#rstatd sunrpc_udp udp wait root /usr/sbin/rpc.rstatd rstatd 100001 1-3
4、將#去掉
5、:wq保存修改結果
6、命令提示符下輸入:refresh –s inetd 重新啟動服務。
這樣使用loadrunner就可以監視AIX系統的性能情況了。
註:在HP UNIX系統上編輯完inetd.conf後,重啟inetd服務需要輸入inetd -c
UNIX上也可以用rup命令查看rstatd程序是否被配置並激活
若rstatd程序已經運行,重啟時,先查看進程ps -ef |grep inet,然後殺掉進程,再refresh –s inetd進行重啟。
望採納
E. 如何監視Linux系統資源的使用情況
虛擬終端 命令 free
命令
可以用網路搜索
你值得擁有:25 個 Linux 性能監控工具
裡面有一些其它的好工具。
命令、uptime、free
參看::wenku../link?url=-_YXSztvNvIykFJ_C
Linux操作系統也會有鬧脾氣的時候。在某些情況下,其系統的資源使用率(包括CPU或者內存),也會達到90%以上甚至更多。為此系統管理員在必要的時候,仍然需要監視系統資源的使
雖然說Linux操作系統要比Windows操作系統穩定的多。但是這個穩定是相對而言的。也就是說,Linux操作系統也會有鬧脾氣的時候。在某些情況下,其系統的資源使用率(包括CPU或者內存),也會達到90%以上甚至更多。為此系統管理員在必要的時候,仍然需要監視系統資源的使用情況。筆者今天就給大家介紹一下,褲彎帶在Linux操作系統下如何監視這個系統資源,做到心中有數。
在Windows操作系統中,可以通過任務管理器來查詢各個進程所佔用的CPU與內存的比率。在Linux操作系統中沒有這種圖形化的管理。在命令行模式下,鍵入命令,即可以看到各個進程所佔用的系統資源。
ppp作為一個合格的系統管理員,出於系統性能優化或者其他方面的考慮,往往需要掌握系統中最消耗CPU或者內存資源的程序。為了達到這個目的,系統管理員就需要藉助系統提供的命令。這個命令可以幫助管理員監控系統資源的使用情況,包括內存、CPU、交換文件分區的使用率等等。就是這個命令的執行結果。系統管理員想要提升操作系統的性能,第一步就是需要讀懂上面這張表格。如果這種圖中的內容系統管理員無法看懂,那麼他就想提升系統的性能根本無法入手。
Top命令的運行結果大致可以分為兩個部分。上半部是使一些統計的信息,包括內存和交換分區的使用情況、CPU的運行情況、進程的總數等等。在這些統計信息中,系統管理員除了要關注這些重要資源的使用濾外,還需要注意進程運行的狀態。可見在Linux系統中進程的狀態主要有四種,分別為running、sleeping、sped和zombie。如果從系統維護與性能優化考慮,則系統管理員需要關注那些狀態為zombie的進程。若進程處於這個狀態,在Linux操作系統中叫做僵屍進程。什麼叫做僵屍進程呢?就是那些父進程還沒死、但鬧滑是子進程卻死了的進程。在Linux操作系統中,進程一般分為父進程和子進程。某個進程A可能會調用另外一個進程B。此時這個進程A就叫做父進程,而進程B就叫做子進程。由於一些意外的情況,子進程運行已經停止,但是父進程卻還不知道子進程早已停止運行,還在那邊傻傻的等待著子進程返回運行結果。由於子進程沒有返回結果,則父進程可能一直會在那邊等待。從而導致系統性能的下降。如果系統管理員發現有僵屍進程的話,首先要做的就是結束父進程(有時候還需要查看這個父進程打開的其他子進程運行情況),以釋放其佔用的系統資源。其次如果這種情況發生的比較頻繁時,則系統管理員就需要分析到底是什麼原因導致這種情況發生的。找到原因後要採取積極的措施。通常情況下,如果子進程的狀態為僵屍時,父進程就不會自動結束,從而其佔用的系統資源就不會自動釋放,從而降低操作系統的性能。
二、Top命令的使用技巧。
1、 選擇合適的排序順序。
在Windows操作系統的任務管理器中,管理員可以根據需要選擇合適的排序順序,如按CPU排序或者按內存的使用率進行排序。而在命令的顯示結果中,默認情況下是按照CPU的使用率來進行排序的。如果現在系統管理員想按照內存使用率來排序,該如何處理呢?如果要想改變命令結果的排序順序,則可以按m鍵來按內存進行排序。注意這里的m是小寫,而不是大寫的。在Linux操作系統中大部分命令與參數大小胡蘆寫都是敏感的。這跟微軟操作系統中的DOS命令不同。Dos命令是不區分大小寫的。雖然這個排序沒有像微軟操作系統中的任務管理器那麼方便,只需要點點滑鼠就可以完成排序。但是只要熟悉相關的命令,在命令行中對其排序沒有大家想想的那麼困難。
2、 監視特定用戶使用的資源情況。
在Windows操作系統中,如果想要查看特定帳戶所打開的進程以及所耗用的系統資源,操作非常簡單。只需要打開系統任務管理器,然後按照用戶來進行排序。就可以知道某個用戶開啟了哪些進程以及所佔用的比例。而在命令中,沒有按帳戶進行排序的功能。即在上面這個顯示結果中,只可以按照內存使用率或者CPU負載來進行排序,而無法按照用戶來進行排序。在同一個結果中夾雜著系統特權用戶root與普通用戶所打開的進程。這對於系統管理員查找問題原因非常的不方便。有時候系統管理員往往需要只查看特定用戶的進程,如只需要查看oracle帳戶所打開的進程以及所佔用的系統資源。而忽略掉系統帳戶。因為特權帳戶其他用戶無權進行登陸操作,而其運行的往往是一些系統級別的進程,為此一般不會出現問題。而普通用戶可以運行一些應用程序。有時候他們糊里糊塗可能會打開一些非法程序,佔用大量的系統資源,從而降低系統性能。廢話少說,如何才能夠查看特定帳戶所啟動的進程呢?其實很簡單。現運行 命令,讓系統統計所有帳戶的進程。然後在需要查看特定帳戶的進程使,只需要按u鍵(注意小寫),然後輸入用戶名即可。此時系統會自動把其他帳戶的進程過濾掉,方便系統管理員查看。按用戶過濾後,仍然可以按m鍵來對現實的結果進行過濾。如果在一開始就需要查看某個特定用戶的進程,那麼只需要直接在 命令後面加入-u可選項然後帶上具體的用戶名即可。但是,此時如果再想查看全部用戶的話,那麼只有先推出命令,然後再利用命令不帶任何選項,來查看所有用戶的進程。或者說,再在這個窗口中輸入字元u,然後直接按回車鍵,也可以顯示所用用戶的進程信息。
3、動態統計信息。
使用命令來統計進程的運行信息,跟微軟操作系統的任務管理器一樣,都是動態調整的。也就是說,系統會每隔一段時間去統計這個信息,然後動態的顯示在窗口中。不需要用戶手工去更新相關的信息。而且從上面的圖形中可以看出,命令統計的信息要比微軟任務管理器統計的信息要多的多。所以對系統管理員來說,具有更大的參考價值。筆者以前也很喜歡採用微軟操作系統的任務管理器。而了解了命令後,就對其鍾愛有加了。因為其不僅可以完成任務管理器中的所有功能。而且命令中有的信息在微軟任務管理器中卻無法顯示。而這些信息往往對我們維護系統、提升性能具有很大的參考價值。
4、刪除有異常的進程。
如果這個窗口中,發現某些進程有異常或者用戶執行了規定以外的應用程序,如佔用了太多的系統資源或者有僵屍進程的存在,則可以直接在這個窗口中講其刪除。操作的方法很簡單,只需要在這個窗口內輸入字元p,然後系統會提示系統管理員輸入要關閉進程的PID。管理員只需要鍵入這個值,然後按回車鍵就可以殺掉不需要的進程。不過在關閉進程的時候,有許可權的限制。系統特權帳戶root可以關閉所有用戶的進程。而普通帳戶則只能夠刪除自己打開的程序,而無法關閉其他用戶的進程。如現在系統管理員先以oracle用戶登錄,發現root帳戶下某個進程異常,想要關閉時,系統會提示無法關閉的錯誤信息。此時管理員必須先終止這個進程,然後利用su命令更改登陸的帳戶。然後再關閉這個異常的進程。系統管理員可以同時關閉多個進程。方法很簡單,就是同時輸入多個需要關閉的進程號。在各個進程號之間需要利用逗號隔開。
在系統維護中是一個很有用的命令。除了可以實現如上的功能外,還可以設置其動態更新的時間間隔等等。不過需要注意的是,在不同版本的 Linux系統中其功能稍有差異,而且其顯示的布局與內容也有所不同。為此當系統管理員維護其不怎麼熟悉的版本時,有時候需要查看系統的幫助說明。此時只需要在命令後面加上?號就可以獲得相關的幫助。這個聯機幫助文檔根命令一樣,都是系統管理員的好幫手。不過可惜的是,現在這些在線幫助文檔都是英文的。所以這對系統管理員的英文說明要求比較高。
但是這個穩定是相對而言的。也就是說,Linux操作系統也會有鬧脾氣的時候。在某些情況下,其系統的資源使用率(包括CPU或者內存),也會達到90%以上甚至更多。為此系統管理員在必要的時候,仍然需要監視系統資源的使
雖然說Linux操作系統要比Windows操作系統穩定的多。但是這個穩定是相對而言的。也就是說,Linux操作系統也會有鬧脾氣的時候。在某些情況下,其系統的資源使用率(包括CPU或者內存),也會達到90%以上甚至更多。為此系統管理員在必要的時候,仍然需要監視系統資源的使用情況。筆者今天就給大家介紹一下,在Linux操作系統下如何監視這個系統資源,做到心中有數。
在Windows操作系統中,可以通過任務管理器來查詢各個進程所佔用的CPU與內存的比率。在Linux操作系統中沒有這種圖形化的管理。在命令行模式下,鍵入命令,即可以看到各個進程所佔用的系統資源。
ppp作為一個合格的系統管理員,出於系統性能優化或者其他方面的考慮,往往需要掌握系統中最消耗CPU或者內存資源的程序。為了達到這個目的,系統管理員就需要藉助系統提供的命令。這個命令可以幫助管理員監控系統資源的使用情況,包括內存、CPU、交換文件分區的使用率等等。就是這個命令的執行結果。系統管理員想要提升操作系統的性能,第一步就是需要讀懂上面這張表格。如果這種圖中的內容系統管理員無法看懂,那麼他就想提升系統的性能根本無法入手。
Top命令的運行結果大致可以分為兩個部分。上半部是使一些統計的信息,包括內存和交換分區的使用情況、CPU的運行情況、進程的總數等等。在這些統計信息中,系統管理員除了要關注這些重要資源的使用濾外,還需要注意進程運行的狀態。可見在Linux系統中進程的狀態主要有四種,分別為running、sleeping、sped和zombie。如果從系統維護與性能優化考慮,則系統管理員需要關注那些狀態為zombie的進程。若進程處於這個狀態,在Linux操作系統中叫做僵屍進程。什麼叫做僵屍進程呢?就是那些父進程還沒死、但是子進程卻死了的進程。在Linux操作系統中,進程一般分為父進程和子進程。某個進程A可能會調用另外一個進程B。此時這個進程A就叫做父進程,而進程B就叫做子進程。由於一些意外的情況,子進程運行已經停止,但是父進程卻還不知道子進程早已停止運行,還在那邊傻傻的等待著子進程返回運行結果。由於子進程沒有返回結果,則父進程可能一直會在那邊等待。從而導致系統性能的下降。如果系統管理員發現有僵屍進程的話,首先要做的就是結束父進程(有時候還需要查看這個父進程打開的其他子進程運行情況),以釋放其佔用的系統資源。其次如果這種情況發生的比較頻繁時,則系統管理員就需要分析到底是什麼原因導致這種情況發生的。找到原因後要採取積極的措施。通常情況下,如果子進程的狀態為僵屍時,父進程就不會自動結束,從而其佔用的系統資源就不會自動釋放,從而降低操作系統的性能。
二、Top命令的使用技巧。
1、 選擇合適的排序順序。
在Windows操作系統的任務管理器中,管理員可以根據需要選擇合適的排序順序,如按CPU排序或者按內存的使用率進行排序。而在命令的顯示結果中,默認情況下是按照CPU的使用率來進行排序的。如果現在系統管理員想按照內存使用率來排序,該如何處理呢?如果要想改變命令結果的排序順序,則可以按m鍵來按內存進行排序。注意這里的m是小寫,而不是大寫的。在Linux操作系統中大部分命令與參數大小寫都是敏感的。這跟微軟操作系統中的DOS命令不同。Dos命令是不區分大小寫的。雖然這個排序沒有像微軟操作系統中的任務管理器那麼方便,只需要點點滑鼠就可以完成排序。但是只要熟悉相關的命令,在命令行中對其排序沒有大家想想的那麼困難。
2、 監視特定用戶使用的資源情況。
在Windows操作系統中,如果想要查看特定帳戶所打開的進程以及所耗用的系統資源,操作非常簡單。只需要打開系統任務管理器,然後按照用戶來進行排序。就可以知道某個用戶開啟了哪些進程以及所佔用的比例。而在命令中,沒有按帳戶進行排序的功能。即在上面這個顯示結果中,只可以按照內存使用率或者CPU負載來進行排序,而無法按照用戶來進行排序。在同一個結果中夾雜著系統特權用戶root與普通用戶所打開的進程。這對於系統管理員查找問題原因非常的不方便。有時候系統管理員往往需要只查看特定用戶的進程,如只需要查看oracle帳戶所打開的進程以及所佔用的系統資源。而忽略掉系統帳戶。因為特權帳戶其他用戶無權進行登陸操作,而其運行的往往是一些系統級別的進程,為此一般不會出現問題。而普通用戶可以運行一些應用程序。有時候他們糊里糊塗可能會打開一些非法程序,佔用大量的系統資源,從而降低系統性能。廢話少說,如何才能夠查看特定帳戶所啟動的進程呢?其實很簡單。現運行 命令,讓系統統計所有帳戶的進程。然後在需要查看特定帳戶的進程使,只需要按u鍵(注意小寫),然後輸入用戶名即可。此時系統會自動把其他帳戶的進程過濾掉,方便系統管理員查看。按用戶過濾後,仍然可以按m鍵來對現實的結果進行過濾。如果在一開始就需要查看某個特定用戶的進程,那麼只需要直接在 命令後面加入-u可選項然後帶上具體的用戶名即可。但是,此時如果再想查看全部用戶的話,那麼只有先推出命令,然後再利用命令不帶任何選項,來查看所有用戶的進程。或者說,再在這個窗口中輸入字元u,然後直接按回車鍵,也可以顯示所用用戶的進程信息。
3、動態統計信息。
使用命令來統計進程的運行信息,跟微軟操作系統的任務管理器一樣,都是動態調整的。也就是說,系統會每隔一段時間去統計這個信息,然後動態的顯示在窗口中。不需要用戶手工去更新相關的信息。而且從上面的圖形中可以看出,命令統計的信息要比微軟任務管理器統計的信息要多的多。所以對系統管理員來說,具有更大的參考價值。筆者以前也很喜歡採用微軟操作系統的任務管理器。而了解了命令後,就對其鍾愛有加了。因為其不僅可以完成任務管理器中的所有功能。而且命令中有的信息在微軟任務管理器中卻無法顯示。而這些信息往往對我們維護系統、提升性能具有很大的參考價值。
4、刪除有異常的進程。
如果這個窗口中,發現某些進程有異常或者用戶執行了規定以外的應用程序,如佔用了太多的系統資源或者有僵屍進程的存在,則可以直接在這個窗口中講其刪除。操作的方法很簡單,只需要在這個窗口內輸入字元p,然後系統會提示系統管理員輸入要關閉進程的PID。管理員只需要鍵入這個值,然後按回車鍵就可以殺掉不需要的進程。不過在關閉進程的時候,有許可權的限制。系統特權帳戶root可以關閉所有用戶的進程。而普通帳戶則只能夠刪除自己打開的程序,而無法關閉其他用戶的進程。如現在系統管理員先以oracle用戶登錄,發現root帳戶下某個進程異常,想要關閉時,系統會提示無法關閉的錯誤信息。此時管理員必須先終止這個進程,然後利用su命令更改登陸的帳戶。然後再關閉這個異常的進程。系統管理員可以同時關閉多個進程。方法很簡單,就是同時輸入多個需要關閉的進程號。在各個進程號之間需要利用逗號隔開。
在系統維護中是一個很有用的命令。除了可以實現如上的功能外,還可以設置其動態更新的時間間隔等等。不過需要注意的是,在不同版本的 Linux系統中其功能稍有差異,而且其顯示的布局與內容也有所不同。為此當系統管理員維護其不怎麼熟悉的版本時,有時候需要查看系統的幫助說明。此時只需要在命令後面加上?號就可以獲得相關的幫助。這個聯機幫助文檔根命令一樣,都是系統管理員的好幫手。不過可惜的是,現在這些在線幫助文檔都是英文的。所以這對系統管理員的英文說明要求比較高。
[root@iZ259r7h4pfZ ~]#
- 16:48:24 up 226 days, 8:34, 1 user, load average: 0.00, 0.00, 0.01
Tasks: 204 total, 1 running, 164 sleeping, 0 sped, 39 zombie
Cpu(s): 0.9%us, 0.9%sy, 0.0%ni, 98.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1920740k total, 1123552k used, 797188k free, 24216k buffers
Swap: 0k total, 0k used, 0k free, 87436k cached
[root@iZ259r7h4pfZ ~]# free -m
total used free shared buffers cached
Mem: 1875 1097 778 0 23 85
-/+ buffers/cache: 988 887
Swap: 0 0 0
也可以用watch監控
[root@iZ259r7h4pfZ ~]# watch -n 1 "free -m"
Every 1.0s: free -m Tue Oct 31 16:48:44 2017
total used free shared buffers cached
Mem: 1875 1098 777 0 23 85
-/+ buffers/cache: 989 886
Swap: 0 0 0
這個需要配置吧
:blogs./yangxia-test/archive/2012/11/27/2790771.
LR只是模擬客戶端和伺服器進行交互,並不能直觀的收集伺服器是內部的信息,如果要監控伺服器性能情況,linux系統可以用nmon(或者用命令不過,只能監控內存之類的情況,寫一個shell腳本定時輸出日誌到本地就可以了),oracle可以用awr。
Linux查看系統資源佔用
在系統維護的過程中,隨時可能有需要查看 CPU和內存的使用率,並根據相應信息分析系統狀況的需求。本文介紹一下幾種常見的Linux系統資源查看命令。
1、總體內存佔用的查看
命令:free
圖1 free命令查看內存佔用
(1) free命令默認是以kb為單位顯示的,可以用free -m 用Mb單位來顯示。
(2) Mem行 : total = used + free 其中buffers和cached雖然計算在used內, 但其實為可用內存。
(3) Mem下一行:used為真實已佔內存,free為真實可用內存。
(4)Swap:內存交換區的使用情況。
2、查看內存佔用前五的進程
命令:ps auxw | head -1;ps auxw|sort -rn -k4|head -5
圖 2.1查看內存佔用前5的進程
如圖2.1所示, 內存的單位是kb,VSZ是虛擬內存的佔用,RSS是真實的內存的佔用。
命令分解:
ps auxw顯示系統資源佔用情況;
head -1表示顯示第一列,即標題列;
sort -r 表示反向排序,-n表示按數字排序,-k4表示列的第4個字元。
3、查看CPU佔用前三的進程
命令:ps auxw|head -1;ps auxw|sort -rn -k3|head -3
圖3.1 查看cpu佔用前三的進程
該命令與圖2.1相仿,只是選擇的資源佔用情況的第3列(即cpu),用「-k3」表示。
4、查看系統整體的負載
命令:
圖4.1 顯示系統整體負載
(1)第一行: 系統時間 + 系統運行時間 + 幾個用戶 + 1/5/15分鍾系統平均負載
(2)第二行:進程總數(total) + 正在運行進程數(running) + 睡眠進程數(sleeping) + 停止的進程數(sped)+ 僵屍進程數(zombie)
(3)第三行:用戶空間CPU佔比(us) + 內核空間CPU佔比(sy)+ CPU空置率(id)
圖4.2 各個任務佔用資源情況
註解:
PID :進程ID
USER :用戶名
PR :優先順序
NI :負值表示高優先順序,正值表示低優先順序。
VIRT :虛擬內存
RES : 真實內存
SHR :共享內存
S :進程狀態 D=不可中斷的睡眠狀態; R=運行; S=睡眠 ;T=跟蹤/停止; Z=僵屍進程
參數:
-d 2 :每隔2秒顯式所有進程的資源佔用情況
-c :每隔5秒顯式進程的資源佔用情況,並顯示進程的命令行參數(默認只有進程名)
-p 12345 -p 6789:每隔5秒顯示pid是12345和pid是6789的兩個進程的資源佔用情況
-d 2 -c -p 123456 :每隔2秒顯示pid是12345的進程的資源使用情況,並顯式該進程啟動的命令行參數
假設一個線程被調度運行,它將一直運行直到它的時間片用完、直到被搶先或直到它自己主動放棄 CPU 控制權。
當另一個線程被賦予 CPU 控制權時,必須保存前一個線程的上下文或工作環境,並載入當前線程的上下文。操作系統有一個很有效的上下文切換過程,所以每次切換並不耗費資源。
任何上下文切換的顯著增加,如當 cs 比磁碟 I/O 和網路包速率高的多,都應進行進一步調查。
F. 如何用命令行執行loadrunner的腳本
D:\ceshi10\ScenarioNo1.lrs是腳本目錄
DontClose
腳本運行完不關閉控制器,蠢培租乎
以上是批處理
把批處理加到
windows的任務計劃里,帶型唯設置好運行時間,就可以了
This
means
the
Controller
can
be
started
from
a
DOS
batch
(.bat)
file
(preferrably
with
a
short
name
on
a
root
drive):
REM
Start
Controller:
SET
M_ROOT=C:\Program
Files\Mercury
Interactive\LoadRunner\bin
cd
%M_ROOT%
G. loadrunner 怎麼錄制dat文件(類似命令行輸入框),需要選擇什麼協議和錄制設置如何,急求,謝謝!
lr截取的是與伺服器交互的信息蠢含判,而不是前台操作,如果你看老答重前台操作的話帶改,可以試試web(click and script)協議
H. loadrunner安裝
二. 安裝
1.啟動安裝程序
運行setup.exe,點擊「LoadRunner完整安裝程序」
2.安裝組件
安裝LoadRunner11時,安裝程序會自動檢測系統所安裝的組件情況,LoadRunner運行支持的組件,一般比較重要的是Visual C++ 2005 SP1和.Net Framework 3.5。因之前安裝了一組件在計算機中,下圖中只顯示了2個必要的組件(lr安裝包中含有這些組件),如果是全新的系統一般會是5個,直接點擊「下一步」,如下圖:
3.LoadRunner 安裝歡迎界面
組件安裝完成後進入LoadRunner主程序的安裝界面,直接「下一步」:
4.許可協議
選擇「我同意」,然後點擊「下一步」:
5.個人信息
輸入個人相關信息,選擇「下一步」:
6.安裝路徑
選擇LoadRunner安裝路徑,注意安裝路徑不要有中文,選擇「下一步」:
7.安裝及完成
8.安裝後
安裝完成後,系統會自動打開「LoadRunner License Information」窗口:
並提示你的License只有十天的使用期。
此時,可以啟動LoadRunner了。
三. 破解
1. 把loadrunner相關程序全部退出;
2. 解壓文件: lr破解.zip
2. 用LR8.0中的mlr5lprg.dll、lm70.dll覆蓋LR9.5安裝目錄下「bin」文件夾中的對應文件;一般是C:\Program Files\Mercury\LoadRunner\bin.
3. 清理注冊表(不清理的話,在添加licence時,會提示「License security violation……」)
可以下載注冊表清理器lr_Del_license(LR破解包內有)
或者手動修改注冊表,刪除下面內容:
[HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\LoadRunner\License2]
[HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\LoadRunner\License2\History]
"AIBGEBFW-JVED-ZKEKEKEKEKEBDNQAF-KBRDN"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\LoadRunner\License2\PermanentLicense]@="AIBGEBFW-JVED-ZKEKEKEKEKEBDNQAF-KBRDN""last"="AIBGEBFW-JVED-ZKEKEKEKEKEBDNQAF-KBRDN"
[HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\LoadRunner\License2\TemporaryLicense]@="AEBGEBFS-AKEKEKEKE-KAUCA"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{87B3ADD4-21EB-11d5-93EF-00105AA0FD2D}]@="IControl"
4. 添加下面的licence,即可使用:
global-100: AEAMAUIK-YAFEKEKJJKEEA-BCJGI
web-10000: AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB
golba-1000:AEACFSJI-YASEKJJKEAHJD-BCLBR
提供一個超級license 最高支持6.5w個並發:AEACFSJI-YJKJKJJKEJIJD-BCLBR
(備註:破解同8.1、9.5一樣)
四. 安裝過程中遇到的問題
1. 安裝過程中,提示:少了Microsoft Visual c++2005 sp1運行時組件,安裝時會提示命令行選項語法錯誤,鍵入「命令/?」可獲取幫肋信息,無法正常安裝;
解決方法:
u 進入loadrunner-11\Additional Components\IDE Add-Ins\MS Visual Studio .NET
u 安裝:LRVS2005IDEAddInSetup.exe
u 再安裝loadrunner
2.注意開啟 ,在開始菜單下面的HP LoadRunner\Advanced Settings\LoadRunner Agent Process.如果不打開此服務會影響GUI Vusers、ASPGUI腳本回放。
3.安裝時提示"the link file .... may be corrupted or has illegated link string"的錯誤信息或者提示Command Line Option Syntax error.Type Command/?時:
原因:LoadRunner的安裝文件夾包含中文,LoadRunner的安裝腳本無法識別路徑,最終導致不斷有這樣的錯誤提示。
解決方法:把安裝文件的目錄名改為不要有中文,安裝目錄最好使用默認。
4.管理員許可權安裝
5.LoadRunner錄制腳本經常遇到不能打開瀏覽器的情況,(當一台主機上安裝多個瀏覽器時,)可以用下面的方法來解決。
解決辦法:啟動瀏覽器,打開Internet選項對話框,切換到高級標簽,去掉「啟用第三方瀏覽器擴展(需要重啟動)」的勾選,然後再次運行VuGen即可;
提示:通常安裝Firefox等瀏覽器後,都會勾選上面得選項,導致不能正常錄制。因此建議運行LoadRunner得主機上保持一個干凈的測試環境
6.錄制時關閉防火牆,關閉360相關東西。
7.loadrunner在打開場景時,提示「試圖執行系統不支持的操作」
解決方法:卸載LoadRunner,然後手動刪除安裝文件和注冊表裡面的信息,重啟後安裝,殺毒軟體的防禦提示全部設為允許,就OK了
原因:在安裝時,360殺毒軟體的防禦提示全部設為阻止了。
8.重裝系統後安裝LR,提示setup has determined that a previous installation has not completed,重啟無效 ;
解決辦法:a.進入注冊表:運行/regedit;
b.進入路徑:KEY_LOCAL_MACHINE/SYSTEM/Contrl/SessionManager;
c.在Session Manager右側的主試圖中,雙擊PendingRenameOperations,在彈出的窗口中,將臨時文件刪除。
d.重新運行LR安裝文件即可。
9.當安裝提示"此計算機缺少 vc2005_sp1_with_atl_fix_redist",怎麼辦?
解決方法:運行安裝程序自帶的vcredist_x86.exe(默認在 "安裝包\lrunner\Chs\prerequisites\vc2005_sp1_redist"目錄下),讓電腦先裝基礎環境後裝LoadRunner 11即可。
I. 破解loadrunner9.5時,找不到loadrunner的注冊表是哪一個,輸入破解密碼時還是提示報錯
我來幫你解決:(你的問題在於注冊表扮早兆沒弄好)
1.把破解文件夾中的兩個dll文件拷入 X:\Program Files\HP\LoadRunner\bin下
2.修改注冊表:
命令行敲regedit打開注冊表編廳租輯器,找到 HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\LoadRunner\License2,其下有三個目錄History,PermanentLicense,TemporaryLicense。
1>把以上三個目錄下的注冊值全部刪掉。
2>在PermanentLicense下添加:
默認:AEACFSJI-YJKJKJJKEJIJD-BCLBR。
重新打開loadrunner,你就會發現你已經注冊了,再也沒有煩睜輪人的license的提示框了。
J. LoadRunner學習知多少
一、為什麼要設置IP 欺騙
1、 當某個IP的訪問過於頻繁,或者訪問量過大時,伺服器會拒絕訪問請求,這時候通過IP欺騙可以增加訪問頻率和訪問量,以達到壓力測試的效果。
2、 某些伺服器配置了負載均衡,使用同一個IP不能測出系統的實際性能。LR中的IP欺騙通過調用不同的IP,可很大程度上的模擬實際使用中多IP訪問和測試伺服器均衡處理的能力。
3 、有一些網站會限制同一個用戶同一個 IP 的登陸。為了更加真實的模擬實際情況, LoadRunner 允許運行的虛擬用戶使用不 同的 IP 訪問同一網站。
二、IP 欺騙絕兄謹設置方法
在配置前首先要確定本地IP是固定的,不能是自動獲取的
所添加的IP只能是區域網內的網段,即只能添加192段,127段,10段的IP地址
IP Spoofer 在連接 Load Generators 之前啟用
打開開始菜單中的LoadRunner文件夾下的Tools文件夾,點擊IP Wizard:
第一次運行IP Wizard需要選擇第一項「Create new settings」,如果以前運行過,可以選擇第二項,選擇保存好的文件;第三項用於使用IP欺騙進行測試完成後,釋並基放IP的。(因為該操作會佔用大量的IP資源,可能會導致其他機器沒有IP可用的尷尬局面,使用該項,可以恢復到原來的狀況)。
這里選擇第一項,「下一步」,出現IP Wizard的第二個窗口:
這里輸入Web Server的IP地址(這里輸入應用程序所在的伺服器的IP地址,IP Wizard將會檢查伺服器路由表是否需要更新,如果需要更新的話,將會產生相應的腳本幫助你來更新伺服器路由表,如果伺服器和客戶端在同一網段,這個IP可以不填)。然後「下一步」,出現向導的第三個窗口:
從「From IP」文本框中輸入要使用IP范圍的第一個IP值,然後在「Numbers to Add」輸入一個數字,表示IP范圍的值;「Submask」使用默認情況,取決於使用的那種類型的網路IP,一般區域網內採用Class C即可。
建議此處選擇Save as 保存IP。保存IP列表後,下次使用時,可以直接導入IP列表;也可以直接修改保存的IP列表文件,再導入。
設置完成後,重新啟動計算機。
重啟後,在命令行輸入ipconfig查看IP:
三.在場景中使用IP 欺騙
1.勾選「Scenario」--「Enable IP spoofer」;
2.勾選「Tools」—「Export Mode」;
3.「Tools」—「Options」—「General」
Multiple IP address mode選擇「IP address allocation per process」
這個選項一定要與塵和當前場景的模式相匹配,也就是說使用本地虛擬IP測試時需要選中線程方式,使用負載生成器使用虛擬IP測試時需要選中進程方式。
4.「Diagnositics」—「Configuration」
「Web Page Diagnostics」設置為Disable.