效能測試之協議分析

2021-04-26 14:19:08 字數 1883 閱讀 9106

最近在論壇上的一些朋友問指令碼方面的問題,比如用lr的winsock協議錄製的指令碼遇回放過程中遇到如下錯誤

action.c(20): error : callconnect - can't assign requested address. error code : 10049.

action.c(20): error : timeout expired while trying to connect. error code : 9017.

這裡的10049是udp協議錯誤,是指令碼沒有和伺服器同步,這說明什麼問題呢。下邊我用乙個協議進行分析,來看看到底是什麼問題,

smtp協議分析:

1.smtp工作方式有兩種情況:一是電子郵件從客戶機傳輸到伺服器;二是從某乙個伺服器傳輸到另乙個伺服器. 

2.smtp是個請求/響應協議,命令和響應都是基於ascii文字,並以cr和lf符結束。響應包括乙個表示返回狀態的三位數字**. 

3.smtp在tcp協議25號埠監聽連線請求 

4.連線和傳送過程:

a.建立tcp連線 

b.客戶端傳送helo命令以標識發件人自己的身份,然後客戶端傳送mail命令 

伺服器端正希望以ok作為響應,表明準備接收 

c.客戶端傳送rcpt命令,以標識該電子郵件的計畫接收人,可以有多個rcpt行 

伺服器端則表示是否願意為收件人接受郵件 

d.協商結束,傳送郵件,用命令data傳送 

e. 以.表示結束輸入內容一起傳送出去 

f.結束此次傳送,用quit命令退出。 

5.另外兩個命令: 

vrfy---用於驗證給定的使用者郵箱是否存在,以及接收關於該使用者的詳細資訊。 

expn---用於擴充郵件列表。 

6.郵件路由過程: 

smtp伺服器基於『網域名稱服務dns中計畫收件人的網域名稱來路由電子郵件。smtp伺服器基於dns中的mx記錄來路由電子郵件,mx記錄註冊了網域名稱和相關的smtp中繼主機,屬於該域的電子郵件都應向該主機傳送。 

若smtp伺服器mail.withub.org收到一封信要發到[email protected]

a.sendmail請求dns給出主機withub.org的cname記錄,如有,假若cname到mail.withub.org,則再次請求mail.withub.org的cname記錄,直到沒有為止. 

b.假定被cname到mail.withub.org,然後sendmail請求@withub.org域的dns給出mail.withub.org的mx記錄, 

shmail mx 5 mail.withub.org

10 shmail2.withub.org 

c. sendmail最後請求dns給出shmail.withub.org的a記錄,即ip位址,若返回值為1.2.3.4 

d. sendmail與1.2.3.4連線,傳送這封給[email protected]

的信到1.2.3.4這台伺服器的smtp後台程式

這裡是協議的乙個解析過程,我們要看看,利用lr錄製指令碼後然後回放,錄製的過程中mail.withub.org返回客戶端伺服器上有多少給使用者的郵件,lr把這個數字儲存下來,最為下次回放的時候對比。當你第二次回放的時候,lr模擬客戶端傳送請求,這時候伺服器上沒有了新郵件,返回可能是0,lr把這個返回值和當時錄製的指令碼儲存的返回值進行對比(那個時候可能伺服器上有3個新的郵件,伺服器返回的值是3),明顯這個值是動態變化的。你的指令碼如果沒有經過修改,肯定是回返不成功的。

那麼上邊提到的錯誤資訊,同樣的道理,我們要分析一下到底是什麼問題,從協議上分析,從系統環境上分析。

解決方法,動態關聯

1.用同樣的使用者操作同樣的步驟兩次,然後用lr工具wdiff進行指令碼對比,找出不同的地方!

2.用lr自動關聯

3.手工關聯,找到要替換的動態資料進行替換

原創 效能測試之 效能測試需求分析

這裡以乙個電商購物 b2c 為例 從12月下旬至農曆年底 來年2月初 50天 預計營業額 400萬 這裡營業額可以理解為 完成購買訂單總金額 訪問訂單轉化率 10 這裡理解為百分之多少的訪問量會轉化為實際的 訂單 每個訂單平均選購商品數 3件左右共計300元左右的金額,這裡指每個訂單平均消費300元...

pickle 協議效能測試

先看文件 pickle.dumps obj protocol return the pickled representation of the object as a string,instead of writing it to a file.if the protocol parameter i...

AMF pyamf 協議效能測試

下面的測試 是執行在蘋果機上,i5處理器,2.3ghz 處理的原始資料約為1k。測試一秒鐘可以跑多少次amf3的編碼。usr bin env python coding utf 8 import time import pyamf test data harvest fruit 1,harvest ...