GO
SET ANSI_NULLS ON
GO
第二步:創建測試腳本:在Robot中新建VU腳本,輸入以下內容:
#include
{
push Timeout_scale = 200; /* Set timeouts to 200% of maximum response time */
push Think_def = "LR";
Min_tmout = 120000; /* Set minimum Timeout_val to 2 minutes */
push Timeout_val = Min_tmout;
ser=sqlconnect("server","sa","888","192.168.0.99","sqlserver");
set Server_connection = ser;
push Think_avg = 0;
sync_point "logon";
sqlexec ["sql_1000"] "testdb..test";
sqldisconnect (ser);
}
說明:
ser=sqlconnect("server","sa","888","192.168.0.99","sqlserver")
sa為數據庫用戶名,888為sa密碼,192.168.0.99數據庫IP地址
以上三項按實際的測試數據庫設置更改,其他兩項不用修改
sqlexec ["sql_1000"] "testdb..test"
testdb為新建存儲過程test所在的數據庫,按實際的數據庫修改
第三步:執行測試:運行上一步創建的腳本(運行時自動創建Suite),在Run Suite窗口中的“Number of users”上輸入20。運行完腳本,打開數據庫查看counts的數值。把counts值改為零多次運行腳本,觀察每次運行后counts的結果。
測試說明
(1)、測試示例程序的目的是,存儲過程test每執行一次,表testtable中的counts字段增加一;
(2)、第三步的測試可以發現每次執行后counts結果并不相同,而且不等于20,這說明這個程序是在并發時是問題的。
(3)、將存儲過程中的select @count=counts from testtable where testid=1修改為select @count=counts from test
原文轉自:http://www.anti-gravitydesign.com