標(biāo)題: 折騰Loadrunner [打印本頁]
作者: 51hei不 時(shí)間: 2016-6-19 13:57
標(biāo)題: 折騰Loadrunner
自從N前年手賤寫過一個(gè)Loadrunner的C插件后,這幾年經(jīng)常有莫名其妙的Loadrunner測試事情找上我,耽誤咱自已的事情不說,后面還被某領(lǐng)導(dǎo)當(dāng)眾批評(píng),說我這玩意是瞎搞,咱的形象分都快減成負(fù)數(shù)了。上周本來在自已的項(xiàng)目里加班加的好好的,跟兄弟們突擊了一個(gè)星期,準(zhǔn)備周一正式上線發(fā)射,結(jié)果周五晚上被領(lǐng)導(dǎo)一個(gè)電話抓來北京接手某個(gè)土人的Loadrunner測試工作,申辯無效,必須得來。話說咱對(duì)Loadrunner理解真的不深,對(duì)于這活,我屬于非專業(yè)選手,偶爾客串一把,結(jié)果還套牢成終身制了,這TMD就是給自已找麻煩啊。唉,做人咋就不能像仔波一樣低調(diào)哩。先深刻自我檢討十分鐘。。。。
搞了幾天,從頭到尾又把Loadrunner折騰了一遍,折騰的火蹭蹭直冒啊,踩的坑是一個(gè)接一個(gè),誰讓咱老愛不走尋常路呢,一路很受傷,現(xiàn)總結(jié)要點(diǎn)如下:
1. LDR 11 新出來的4個(gè)G,可以跑在window2008server\window7上,之前的版本(7.5、8.1、9.5)都不行,只能跑在Windows2003Server上,注意9.5可以在windows2008Server裝起來,在腳本開發(fā)環(huán)境運(yùn)行沒問題,一打壓力,各種奇怪的錯(cuò)誤。
2. 現(xiàn)在網(wǎng)上有個(gè)很牛的LDR破解,65535個(gè)授權(quán),各版本通用,別問我在哪,我不知道,我從來不用盜版軟件的。
3. LDR的file字典有記錄數(shù)上限,實(shí)測開50個(gè)線程大該就20多萬行記錄就不行了,報(bào)些奇怪的錯(cuò)誤(不要問我是什么錯(cuò)誤,你看了就明白了,因?yàn)榭床欢!。),然后自以為很牛,寫了一個(gè)讀大數(shù)據(jù)的C插件(又是C插件),加載150M的文件,開10個(gè)線程就不正常了,開5個(gè)線程正常,似乎LDR的運(yùn)行線程有一些奇詭的限制,而且是總數(shù)控制,具體情況不清楚,以后繞開就行了,想死的自個(gè)跳進(jìn)去慢慢研究。
4. LDR的日志可以關(guān)閉,開關(guān)對(duì)性能影響巨大
5. LDR的日志有嚴(yán)重漏消息的情況,別問我咋漏的,我也沒整明白,反正后面又寫了一個(gè)向OutputDebugString輸出的C插件(死性不改),確定有這個(gè)問題
6. LDR的壓力運(yùn)行界面上,如果運(yùn)行次數(shù)太少,比如小于20,會(huì)在Passed里,直接忽略掉這幾個(gè),LDR各種坑啊。
7. LDR的字典有幾種模式,順序、唯一、隨機(jī)等幾種。看上面的說明就知道了,不知道的就打日志出來看。只有一個(gè)建議,不要用他們自已的日志,漏的亂七八糟。
8. 要測試1000W行記錄,每條記錄有關(guān)鍵字段不一樣,可以設(shè)置unique number 型字典
BlockSize*threadnum=1000W就可以了,后面還有兩個(gè)參數(shù)相關(guān)的設(shè)置,over value注意要設(shè)成 abort user,表示說讓測試線程搞完就睡了,不再傻加班。上面一個(gè)參數(shù)設(shè)成”each occurrent” 表示全局所有線程共用。
9. LDR有一個(gè)屬性列表,可以把腳本一些常用的參數(shù)設(shè)置在里面,比如中間件地址,端口之類的,比較好用,可以少改腳本或不改腳本
10. LDR用了幾個(gè)開源庫,如ssl的那個(gè)庫,可能跟應(yīng)用系統(tǒng)有沖突,導(dǎo)致lr_loaddll加載不成功,把應(yīng)用目錄下的DLL覆蓋到LDR目錄下的同名DLL。
11. LDR跑在16Cpu的機(jī)器上,取一次字典空轉(zhuǎn),性能在25W/秒左右。
12. LDR的C Vuser腳本,變量定義必須在語句的前面,是最早的C語言語法,這個(gè)地方小郁悶了一會(huì),我是習(xí)慣了寫C++風(fēng)格的,所用即申明。解決方案就是加{},把變量的生命周期限制住。
13. UEStuio在打開1.5G大文件后,把 , 改成”,” ,選保存,然后發(fā)現(xiàn)有些地方自動(dòng)把第一個(gè)引號(hào)變成別的值了,錘子,不帶這樣玩人的。然后又牛B轟轟的用C寫了一個(gè)轉(zhuǎn)換程序,發(fā)現(xiàn)fgets和fputs會(huì)導(dǎo)致同樣問題,最后用二進(jìn)制自解析文件格式解決了。莫名你個(gè)奇妙啊。后面還發(fā)現(xiàn)feof,在判斷文件里有0x1a時(shí),會(huì)認(rèn)為是文件終止了,可是我后面還有很多很多數(shù)據(jù),這是咋地說的。
在深圳沒呆兩天,又一被召去京城干了一星期這種破活,補(bǔ)充續(xù)集如下:
14.LDR的字典支持多種模式,比如文件和ODBC,如果是文件模式,可以配多個(gè)字段。不同的字典可以指到同一個(gè)字典文件,只要把字段區(qū)別開就行了。LDR的文件字典分隔符可以是Tab或空格等,可設(shè)置
15.LDR有一個(gè)百分比模式,可以把多個(gè)測試案例配成不同的比例,需要注意的是,如果有3個(gè)以上的測試腳本,在調(diào)腳本時(shí),改好一個(gè)另兩個(gè)會(huì)自動(dòng)重新分配,通常這不是我們想要的。試了很多次,我的解決方案是在列表中排個(gè)序,從第一個(gè)的百分比改起,就不會(huì)有這問題,很奇怪的使用方式。
16.有一堆機(jī)器要一起做壓力時(shí),只要設(shè)一臺(tái)為主機(jī),其它機(jī)器在主里面添加上去就可以了,測試案例和字典會(huì)自動(dòng)同步過去。需要注意的是,如果在腳本里load了其它的DLL,則需要把這些DLL放到測試從機(jī)的path路徑能訪問到地方,要是省事,就寫個(gè)批處理,全部復(fù)制到從機(jī)的windows\system32下。LDR有個(gè)好用的技巧,如果有多臺(tái)機(jī)器,可以寫在notepad,然后全選復(fù)制,在LDR加機(jī)器的地方,可以直接復(fù)制,一次性添加,我用這個(gè)功能,一次性加了20臺(tái)Loadrunner測試機(jī)出來。這個(gè)功能絕對(duì)是亮點(diǎn)。LDR真是個(gè)奇怪的軟件,有些地方做的很細(xì)致,有些地方很粗暴。
192.168.61.200
192.168.61.203
192.168.61.204
192.168.61.205
192.168.61.206
192.168.61.207
192.168.61.208
192.168.61.209
17.還有一個(gè)小技巧可以記一下。如果要把一個(gè)測試案例分成20個(gè)機(jī)器一起壓,字典又不一樣,如何快速創(chuàng)建測試案例?我的方法是寫一個(gè)批處理,一次性把原來的測試案例復(fù)制出20份,然把里面幾個(gè)關(guān)鍵文件改名就行了(*.ci;*.usr;*.prm)。這種方式改完以后,重新開發(fā),會(huì)發(fā)現(xiàn)字典表為空,這時(shí),隨便按個(gè)空格,再保存一下,再看就有字典了,有點(diǎn)奇怪,但是好用,省事。
18.多機(jī)測試時(shí),負(fù)載是按機(jī)器平均分配的,無法跟據(jù)機(jī)器的配置自動(dòng)選擇,只能跑起來以后手工加,這點(diǎn)要注意一下。
完了,就這些。折騰了幾天,就研究出這點(diǎn)東東。最郁悶的是全程上不了網(wǎng),連MSDN都沒裝,硬是靠窮舉法解決了這一堆問題。
前面幾天天天加班到晚上10點(diǎn)才出來吃飯,冒雪在北京的小胡同里找吃食,加班加點(diǎn),忍饑挨餓也就罷了,關(guān)鍵是出來還找不到吃飯地,找不到了吃飯地也就罷了,關(guān)鍵是零星還開著的店都是農(nóng)民工餐廳,是農(nóng)民工餐廳也就罷了,關(guān)鍵是吃的東西都感覺是地溝油做的,是地溝油也就罷了,關(guān)鍵各著難吃,聞著味飽了,飽了也就罷了,關(guān)鍵是回到賓館發(fā)現(xiàn)還是很餓,外面又在下雪,只好把前一天準(zhǔn)備扔的一個(gè)超難吃的餅干再從垃圾袋里翻出來嚼嚼,整個(gè)一天就這樣的悲劇結(jié)束了
來北京第二天夜里便開始下雪,早晨起來一看,雪還沒停,整個(gè)世界已經(jīng)被銀妝素裹。話說北京下雪的早晨真很有味道,特別是街道旁古老莊嚴(yán)的建筑的仕立在滿天風(fēng)雪里,靜默無語,有一種獨(dú)特的滄桑美感。這時(shí)突然某個(gè)高墻大院的朱紅大門被緩慢推開,漏出一道小縫,隱約可見院內(nèi)的奇花異草,一名黃裳少婦牽著一個(gè)小臉凍的紅撲撲的可愛小丫頭,從門內(nèi)出來,見著我一楞,然后低頭淺淺一笑:”老爺,您可算回來了,咱們妍寶寶可一直在門口等著您的稻香村哩”。哈哈
歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |