本節書摘來自異步社區《LoadRunner 12七天速成寶典》一書中的第2章,第2.6節第二個性能測試案例,作者陳霽,更多章節內容可以訪問云棲社區“異步社區”公眾號查看。
2.6 第二個性能測試案例
云云:烤魚吃得很爽。
戀戀:就是你非要吃香辣味的,害得我嘴巴都麻了。
云云:香辣味的好吃,就是鯰魚吃得有點膩,能吃黑魚就好了。
戀戀:下次多找幾個人一起吃飯啊,這下他們生意就更好了。
云云:那么我問你一下點一樣的魚和點不同的魚有什么區別?
戀戀:嘿,你又要考我啦,其實剛才你還沒提問,我腦子里面就在想這個問題了。
云云:哦,美美狗開竅了?
戀戀:不但我是美美狗還是聰聰狗,你那點小花樣我早看出來了。
云云:那么你說說,讓我欣賞一下你的“光芒”。
戀戀:這個問題按照你的思路,我可以先從我公司門口的食堂說起,一般食堂都有固定的菜色,因為燒同樣的東西處理能力強、成本低,而如果為每一個顧客單獨炒菜,那么成本就會高很多。
云云:你這個跑題有點遠啊!
戀戀:所以作為顧客,我們一般幾個人都點相同的菜,這樣廚子燒的快,無論從配菜,到燒菜都會并行處理。總的來說就是,如果每個人都要不同的東西,會讓一個飯店很忙,處理能力降低,而如果要的東西類似,那么就會極大地提高處理效率,從而增加營業額。
云云:哎喲,貌似靠譜了。
戀戀:作為軟件系統來說也是這樣,如果每次對服務器發出的請求不同,那么服務器也會為每一個請求單獨計算,從而會讓服務器很忙,提高效率就是要讓客戶做的事情盡量相同,然后服務器就可以并行處理了。
云云:嗯,不錯,不過有些不太專業。
戀戀:比如A和B做相同的請求,那么對于數據庫來說查詢的內容都相同,那么就可以只計算一次,然后內容就可以一次發給客戶啦,就好像兩個人都點宮保雞丁炒飯一樣,一次炒制,兩盤出鍋。
云云:雖然請求相同,但是可能因為業務不同而導致結果不同啊,比如A是管理員能看所有的記錄,而B是普通用戶只能看自己的記錄!
戀戀:這個……
云云:那你覺得請求應該相同還是不相同呢?
戀戀:我覺得請求應該不同,因為你既然讓我把腳本動起來,還給我說怎么做參數變量、處理業務,本質上就是要讓每次輸入的東西都不一樣。
云云:沒錯,如果每次請求都一樣,那么服務器會自動使用Cache機制,這也是一個使服務器提高處理能力的策略,當發現請求或者查詢內容相同,系統會先從緩存(內存)中查找是否存在匹配的記錄,如果有就返回,否則就執行一次,將結果存放入緩存,唯一特例就是所謂的要做及時查詢,就是鎖概念。
戀戀:嗯,我也聽說過什么MemCache、PGA&SGA還有啥JVM內存管理,都是和緩存有關系,鎖這個概念我就不太懂了。
云云:鎖這個概念怎么說呢,這樣吧,你知道12306買火車票難吧。
戀戀:知道啊,不知道誰做那么差個系統,查個火車票都經常刷不出來。
云云:這就叫做外行看熱鬧,內行看門道。其實做火車訂票系統是很難的,因為查票是及時的,要鎖定票。
戀戀:Go on!
云云:每當一張票被訂的時候,所有的查詢都要得到全新的少了一張票的情況,所有的訂票都要告訴別人這個位置的這個票已經被訂了。所以當成千上萬的人去買票的時候,一張票被鎖定會影響幾萬個查詢,每次查詢都不能用Cache,否則會得到錯誤的信息,你明明看到這個票有,但是訂的時候卻失敗。
戀戀:Go on!
云云:這里面還有更復雜的業務,比如從上海到北京的高鐵,如果我訂了一張從南京到天津的票,就意味著會多一張上海到南京的票,還有一張從天津到北京的票!
戀戀:那么怎么優化呢?
云云:很簡單,首先不要做及時查詢,例如不要直接給每個客戶看有多少張剩票,其次當一張票訂了后,不要立即計算出可能導致生成的部分路程的票,最后將坐全程的票和坐半程的票位置分開做表分離,這樣就算買了半程票影響的記錄會比較少,處理起來相對簡單,讓專門的服務器去處理多程票!
戀戀:來吃個梨,你看又進入狀態了吧,后面一個人就亢奮的說啊說啊,完全不管別人懂不懂。
云云:真是好心沒有好報,看在你給我削梨的舉動上就原諒你了。睡覺前是不是可以做第二個性能測試案例了啊。
戀戀:今天晚上要做啥啊?
云云:做一個腳本比較一下點擊相同的帖子和點擊不同的帖子的性能有何區別!
戀戀:好,開工。
**小結
理解動態訪問會帶來的負載點及系統處理業務的邏輯概念。
錄制腳本運行
**
戀戀:打開LR啟動VuGen錄制一個腳本。
云云:別忘了你首先要有那么多帖子,否則你查詢不到。
戀戀:對,那么先錄一個生成帖子的腳本吧。
(幾分鐘過去后)
戀戀:腳本生成。
Action()
{int i;web_add_cookie("38We_2132_sid=NDgF6W; DOMAIN=127.0.0.1");web_add_cookie("38We_2132_lastvisit=1462200716; DOMAIN=127.0.0.1");web_add_cookie("38We_2132_lastact=1462204316%09home.php%09misc; DOMAIN=127.0.0.1");web_add_cookie("38We_2132_onlineusernum=1; DOMAIN=127.0.0.1");web_add_cookie("38We_2132_sendmail=1; DOMAIN=127.0.0.1");web_url("discuz", "URL=http://127.0.0.1/discuz/", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t2.inf", "Mode=HTML", EXTRARES, "Url=static/image/common/background.png", "Referer=http://127.0.0.1/discuz/forum. php", ENDITEM, "Url=static/image/common/search.gif", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, "Url=static/image/common/chart.png", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, "Url=static/image/common/px.png", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, "Url=static/image/common/qmenu.png", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, "Url=static/image/common/nv.png", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, "Url=static/image/common/titlebg.png", "Referer=http://127.0.0.1/discuz/forum. php", ENDITEM, "Url=static/image/common/nv_a.png", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, "Url=static/image/common/cls.gif", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, LAST);web_submit_data("member.php", "Action=http://127.0.0.1/discuz/member.php?mod=logging&action=login&loginsubmit =yes&infloat=yes&inajax=1", "Method=POST", "TargetFrame=", "RecContentType=text/html", "Referer=http://127.0.0.1/discuz/forum.php", "Snapshot=t3.inf", "Mode=HTML", ITEMDATA, "Name=fastloginfield", "Value=username", ENDITEM, "Name=username", "Value=admin", ENDITEM, "Name=password", "Value=123456", ENDITEM, "Name=quickforward", "Value=yes", ENDITEM, "Name=handlekey", "Value=ls", ENDITEM, "Name=questionid", "Value=0", ENDITEM, "Name=answer", "Value=", ENDITEM, LAST);web_add_cookie("38We_2132_lastact=1462204476%09forum.php%09; DOMAIN=127.0.0.1");web_url("forum.php", "URL=http://127.0.0.1/discuz/forum.php", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1/discuz/forum.php", "Snapshot=t4.inf", "Mode=HTML", EXTRARES, "Url=uc_server/images/noavatar_small.gif", ENDITEM, "Url=static/image/common/user_online.gif", ENDITEM, "Url=static/image/common/arrwd.gif", ENDITEM, LAST);web_add_cookie("38We_2132_checkpm=1; DOMAIN=127.0.0.1");web_add_cookie("38We_2132_smile=1D1; DOMAIN=127.0.0.1");web_url("默認版塊", "URL=http://127.0.0.1/discuz/forum.php?mod=forumdisplay&fid=2", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1/discuz/forum.php", "Snapshot=t5.inf", "Mode=HTML", EXTRARES, "Url=data/cache/style_1_forum_moderator.css?z69", "Referer=http://127.0.0.1/ discuz/forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/smile.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/sad.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/cry.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/biggrin.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/shocked.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/huffy.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/shy.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/tongue.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/mad.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/titter.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/sweat.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/loveliness.gif", "Referer=http://127.0.0.1/ discuz/forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/funk.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/lol.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/curse.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/hug.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/sleepy.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/time.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/dizzy.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/shutup.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/victory.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/kiss.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/call.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/smiley/default/handshake.gif", "Referer=http://127.0.0.1/ discuz/forum.php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/pt_icn.png", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/arw_r.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/fav.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/arw_l.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/feed.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/pt_item.png", "Referer=http://127.0.0.1/discuz/forum. php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/recyclebin.gif", "Referer=http://127.0.0.1/discuz/forum. php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/atarget.png", "Referer=http://127.0.0.1/discuz/forum. php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/editor/editor.gif", "Referer=http://127.0.0.1/discuz/forum. php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/mdly.png", "Referer=http://127.0.0.1/discuz/forum. php?mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/pollsmall.gif", "Referer=http://127.0.0.1/discuz/forum. php?mod=forumdisplay&fid=2", ENDITEM, LAST);web_add_cookie("38We_2132_editormode_e=1; DOMAIN=127.0.0.1");web_url("高級模式", "URL=http://127.0.0.1/discuz/forum.php?mod=post&action=newthread&fid=2", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1/discuz/forum.php?mod=forumdisplay&fid=2", "Snapshot=t6.inf", "Mode=HTML", EXTRARES, "Url=static/image/common/card_btn.png", "Referer=http://127.0.0.1/discuz/forum. php?mod=post&action=newthread&fid=2", ENDITEM, "Url=static/image/common/notice.gif", "Referer=http://127.0.0.1/discuz/forum. php?mod=post&action=newthread&fid=2", ENDITEM, "Url=static/image/common/upload.swf?site=/discuz/misc.php%3fmod=swfupload%26type =image%26fid=2&type=image&random=O2WM", "Referer=http://127.0.0.1/discuz/forum. php?mod =post&action=newthread&fid=2", ENDITEM, "Url=static/image/common/upload.swf?site=/discuz/misc.php%3fmod=swfupload%26fid =2&random=pm3E", "Referer=http://127.0.0.1/discuz/forum.php?mod=post&action= newthread&fid=2", ENDITEM, LAST);for(i=0;i<1000;i++){web_submit_data("forum.php_2", "Action=http://127.0.0.1/discuz/forum.php?mod=post&action=newthread&fid=2&extra =&topicsubmit=yes", "Method=POST", "TargetFrame=", "RecContentType=text/html", "Referer=http://127.0.0.1/discuz/forum.php?mod=post&action=newthread&fid=2", "Snapshot=t7.inf", "Mode=HTML", ITEMDATA, "Name=formhash", "Value=27ad1fe9", ENDITEM, "Name=posttime", "Value=1462204484", ENDITEM, "Name=wysiwyg", "Value=1", ENDITEM, "Name=subject", "Value=第二天測試專用{topic}", ENDITEM, "Name=message", "Value=美美狗代表云層天咨發帖了{topic}", ENDITEM, "Name=save", "Value=", ENDITEM, "Name=uploadalbum", "Value=", ENDITEM, "Name=newalbum", "Value=", ENDITEM, "Name=readperm", "Value=", ENDITEM, "Name=price", "Value=", ENDITEM, "Name=usesig", "Value=1", ENDITEM, "Name=allownoticeauthor", "Value=1", ENDITEM, EXTRARES, "Url=uc_server/images/noavatar_middle.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=viewthread&tid=868&extra=", ENDITEM, "Url=data/cache/style_1_forum_viewthread.css?z69", "Referer=http://127.0.0.1/ discuz/forum.php?mod=viewthread&tid=868&extra=", ENDITEM, "Url=static/js/forum_viewthread.js?z69", "Referer=http://127.0.0.1/discuz/forum. php?mod=viewthread&tid=868&extra=", ENDITEM, LAST);}web_custom_request("home.php", "URL=http://127.0.0.1/discuz/home.php?mod=spacecp&ac=pm&op=checknewpm&rand =1462204515", "Method=GET", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1/discuz/forum.php?mod=viewthread&tid=868&extra=", "Snapshot=t8.inf", "Mode=HTML", "EncType=application/x-www-form-urlencoded", EXTRARES, "Url=static/image/common/flbg.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=viewthread&tid=868&extra=", ENDITEM, "Url=static/image/common/rec_add.gif", "Referer=http://127.0.0.1/discuz/forum. php? mod=viewthread&tid=868&extra=", ENDITEM, "Url=static/image/common/oshr.png", "Referer=http://127.0.0.1/discuz/forum.php? mod=viewthread&tid=868&extra=", ENDITEM, "Url=static/image/common/rec_subtract.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=viewthread&tid=868&extra=", ENDITEM, "Url=static/image/common/fastreply.gif", "Referer=http://127.0.0.1/discuz/ forum. php?mod=viewthread&tid=868&extra=", ENDITEM, "Url=static/image/common/midavt_shadow.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=viewthread&tid=868&extra=", ENDITEM, "Url=static/image/common/repquote.gif", "Referer=http://127.0.0.1/discuz/ forum. php?mod=viewthread&tid=868&extra=", ENDITEM, "Url=static/image/common/edit.gif", "Referer=http://127.0.0.1/discuz/ forum.php? mod=viewthread&tid=868&extra=", ENDITEM, "Url=static/image/common/popupcredit_bg.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=viewthread&tid=868&extra=", ENDITEM, LAST);return 0;
}
戀戀:這里我用了一個循環,做了1000次。
云云:那么你發帖的那個參數是?
戀戀:{topic}啊,這是我定義的一個時間參數,這樣每次帖子都不一樣,如圖2-23所示。

云云:哎喲,不錯哦。
戀戀:好了,單擊運行,我去給你削個梨。
云云:好!不過,如果你用場景,運行會快一些。
戀戀:好啊,你自己削梨去,EQ真低。
云云:我錯了,還是你幫我削吧。
(幾分鐘后,帖子生成)如圖2-24所示。

戀戀:接著我要錄制一個用戶隨機訪問帖子的腳本和一個用戶訪問一個固定帖子的腳本。
Action()
{web_url("discuz", "URL=http://127.0.0.1/discuz/", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t1.inf", "Mode=HTML", EXTRARES, "Url=static/image/common/background.png", "Referer=http://127.0.0.1/discuz/forum. php", ENDITEM, "Url=static/image/common/search.gif", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, "Url=static/image/common/nv.png", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, "Url=static/image/common/px.png", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, "Url=static/image/common/titlebg.png", "Referer=http://127.0.0.1/discuz/forum. php", ENDITEM, "Url=static/image/common/nv_a.png", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, "Url=static/image/common/qmenu.png", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, "Url=static/image/common/chart.png", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, LAST);lr_think_time(5);web_url("默認版塊", "URL=http://127.0.0.1/discuz/forum.php?mod=forumdisplay&fid=2", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1/discuz/forum.php", "Snapshot=t2.inf", "Mode=HTML", EXTRARES, "Url=static/image/common/pt_icn.png", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/pt_item.png", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/arrwd.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/fav.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/feed.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/arw_l.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/arw_r.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/atarget.png", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/editor/editor.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, LAST);lr_think_time(4);web_url("第二天測試專用2016-05-03 00:09:10.850", "URL=http://127.0.0.1/discuz/forum.php?mod=viewthread&tid=1867&extra=page%3D1", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1/discuz/forum.php?mod=forumdisplay&fid=2", "Snapshot=t3.inf", "Mode=HTML", EXTRARES, "Url=uc_server/images/noavatar_middle.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, "Url=static/image/common/oshr.png", "Referer=http://127.0.0.1/discuz/forum.php? mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, "Url=static/image/common/rec_add.gif", "Referer=http://127.0.0.1/discuz/forum. php? mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, "Url=static/image/common/midavt_shadow.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, "Url=static/image/common/fastreply.gif", "Referer=http://127.0.0.1/discuz/forum. php?mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, "Url=static/image/common/rec_subtract.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, "Url=static/image/common/flbg.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, "Url=static/image/common/repquote.gif", "Referer=http://127.0.0.1/discuz/forum. php?mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, LAST);return 0;
}
戀戀:找到看帖請求的那個函數,然后將這個請求內容做一個參數化,參數名稱叫作tid,并且設置從1~1000的隨機數,如圖2-25所示。

Action()
{web_url("discuz", "URL=http://127.0.0.1/discuz/", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t1.inf", "Mode=HTML", EXTRARES, "Url=static/image/common/background.png", "Referer=http://127.0.0.1/discuz/forum. php", ENDITEM, "Url=static/image/common/search.gif", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, "Url=static/image/common/nv.png", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, "Url=static/image/common/px.png", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, "Url=static/image/common/titlebg.png", "Referer=http://127.0.0.1/discuz/forum. php", ENDITEM, "Url=static/image/common/nv_a.png", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, "Url=static/image/common/qmenu.png", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, "Url=static/image/common/chart.png", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, LAST);lr_think_time(5);web_url("默認版塊", "URL=http://127.0.0.1/discuz/forum.php?mod=forumdisplay&fid=2", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1/discuz/forum.php", "Snapshot=t2.inf", "Mode=HTML", EXTRARES, "Url=static/image/common/pt_icn.png", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/pt_item.png", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/arrwd.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/fav.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/feed.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/arw_l.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/arw_r.gif", "Referer=http://127.0.0.1/discuz/ forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/atarget.png", "Referer=http://127.0.0.1/discuz/forum. php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/editor/editor.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, LAST);lr_think_time(4);web_url("第二天測試專用2016-05-03 00:09:10.850", "URL=http://127.0.0.1/discuz/forum.php?mod=viewthread&tid={tid}&extra=page%3D1", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1/discuz/forum.php?mod=forumdisplay&fid=2", "Snapshot=t3.inf", "Mode=HTML", EXTRARES, "Url=uc_server/images/noavatar_middle.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, "Url=static/image/common/oshr.png", "Referer=http://127.0.0.1/discuz/forum.php? mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, "Url=static/image/common/rec_add.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, "Url=static/image/common/midavt_shadow.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, "Url=static/image/common/fastreply.gif", "Referer=http://127.0.0.1/discuz/forum. php?mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, "Url=static/image/common/rec_subtract.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, "Url=static/image/common/flbg.gif", "Referer=http://127.0.0.1/discuz/forum. php? mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, "Url=static/image/common/repquote.gif", "Referer=http://127.0.0.1/discuz/forum. php?mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, LAST);return 0;
}
戀戀:最后還要在查詢前后加個事務,讓腳本運行的時候能夠統計響應時間,先來試著運行一下。
Action()
{web_url("discuz", "URL=http://127.0.0.1/discuz/", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t1.inf", "Mode=HTML", EXTRARES, "Url=static/image/common/background.png", "Referer=http://127.0.0.1/discuz/forum. php", ENDITEM, "Url=static/image/common/search.gif", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, "Url=static/image/common/nv.png", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, "Url=static/image/common/px.png", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, "Url=static/image/common/titlebg.png", "Referer=http://127.0.0.1/discuz/forum. php", ENDITEM, "Url=static/image/common/nv_a.png", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, "Url=static/image/common/qmenu.png", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, "Url=static/image/common/chart.png", "Referer=http://127.0.0.1/discuz/forum.php", ENDITEM, LAST);lr_think_time(5);web_url("默認版塊", "URL=http://127.0.0.1/discuz/forum.php?mod=forumdisplay&fid=2", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1/discuz/forum.php", "Snapshot=t2.inf", "Mode=HTML", EXTRARES, "Url=static/image/common/pt_icn.png", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/pt_item.png", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/arrwd.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/fav.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/feed.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/arw_l.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/arw_r.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/common/atarget.png", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, "Url=static/image/editor/editor.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=forumdisplay&fid=2", ENDITEM, LAST);lr_think_time(4);lr_start_transaction("viewtopic");web_url("第二天測試專用2016-05-03 00:09:10.850", "URL=http://127.0.0.1/discuz/forum.php?mod=viewthread&tid={tid}&extra=page%3D1", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1/discuz/forum.php?mod=forumdisplay&fid=2", "Snapshot=t3.inf", "Mode=HTML", EXTRARES, "Url=uc_server/images/noavatar_middle.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, "Url=static/image/common/oshr.png", "Referer=http://127.0.0.1/discuz/forum.php? mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, "Url=static/image/common/rec_add.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, "Url=static/image/common/midavt_shadow.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, "Url=static/image/common/fastreply.gif", "Referer=http://127.0.0.1/discuz/ forum. php?mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, "Url=static/image/common/rec_subtract.gif", "Referer=http://127.0.0.1/discuz/ forum.php?mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, "Url=static/image/common/flbg.gif", "Referer=http://127.0.0.1/discuz/forum.php? mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, "Url=static/image/common/repquote.gif", "Referer=http://127.0.0.1/discuz/forum. php?mod=viewthread&tid=1867&extra=page%3D1", ENDITEM, LAST);
lr_end_transaction("viewtopic", LR_AUTO);return 0;
}
戀戀:代碼運行大功告成!
云云:值得表揚!
(分別運行未參數化和參數化過的腳本)。
戀戀:好像查詢條件是隨機的會慢一點。
云云:Go On。
戀戀:OK,搞定兩個腳本,一個是原腳本,查詢條件不變的;還有一個是查詢條件是隨機的內容,接著分別到場景里面去運行一下。
戀戀:場景里面要添加監控內容(Windows資源),單擊開始運行。