1976年贪婪的嘴唇,韩国少妇激三级做爰2023电影,久久久久久精品国产三级涨奶,妖精漫画在线观看免费漫画下拉式

淺談SQL Server數據庫并發測試方法
來源:易賢網 閱讀:1284 次 日期:2015-09-11 14:53:03
溫馨提示:易賢網小編為您整理了“淺談SQL Server數據庫并發測試方法”,方便廣大網友查閱!

1. 利用測試工具模擬多個最終用戶進行并發測試;

這種測試方法的缺點:最終用戶往往并不是直接連接到數據庫上,而是要經過一個和多個中間服務程序,所以并不能保證訪問數據庫時還是并發。其次,這種測試方法需要等到客戶端程序、服務端程序全部完成才能進行;

2. 利用測試工具編寫腳本,直接連接數據庫進行并發測試;

這種方法可以有效的保證并發操作,而且在數據庫訪問程序完成即可測試,可以大大縮短測試時間,而且測試效果更好。

下面通過一個演示程序,演示使用Robot使用第二種測試方法進行數據庫的并發測試。

第一步:創建演示程序

打開SQL SERVER查詢分析器,在SQL SERVER測試數據庫中執行下列腳本(腳本執行操作:創建表testtable,并插入一條記錄;創建存儲過程test): 

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Test]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

drop procedure [dbo].[Test]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[testtable]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

drop table [dbo].[testtable]

GO

CREATE TABLE [dbo].[testtable] (

[testid] [int] NULL ,

[counts] [int] NULL

) ON [PRIMARY]

GO

insert into testtable (testid,counts) values (1,0)

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_NULLS ON

GO

CREATE Procedure dbo.Test

as

declare @count int

begin tran TEST

select @count=countsfrom testtable where testid=1

update testtable setcounts=@count+1

if (@@error >0) begin

rollback tran TEST

end else begin

commit tran TEST

end

GO

SET QUOTED_IDENTIFIER OFF

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=countsfrom testtable where testid=1修改為select @count=countsfrom testtable with (UPDLOCK) where testid=1。再次進行并發測試,每次的結果應該都是20。

以上演示程序,僅僅演示了測試的方法。在實際的數據庫并發測試中,首先要確定存在哪些并發情況、哪些數據受到并發影響,然后編寫腳本,設置suite進行并發測試。

更多信息請查看IT技術專欄

更多信息請查看數據庫
易賢網手機網站地址:淺談SQL Server數據庫并發測試方法
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
主站蜘蛛池模板: 开封县| 土默特左旗| 凤山县| 阿巴嘎旗| 盘山县| 霞浦县| 汉阴县| 新巴尔虎左旗| 桃源县| 亳州市| 温州市| 建宁县| 夏邑县| 吴川市| 安福县| 顺昌县| 滨海县| 高阳县| 疏附县| 金堂县| 滕州市| 唐海县| 甘德县| 宿迁市| 轮台县| 拉孜县| 岳阳市| 永嘉县| 班玛县| 夹江县| 五原县| 屏东市| 镇平县| 伊金霍洛旗| 精河县| 鄄城县| 兰坪| 个旧市| 海阳市| 吴忠市| 临沂市|