成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談SQL Server數據庫并發測試方法

運維 數據庫運維 SQL Server
本文將為大家介紹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進行并發測試。

【編輯推薦】

  1. 用并行查詢讓SQL Server加速運行
  2. 減少SQL Server數據庫死鎖的方法
  3. MySQL***高并發網站實戰攻略
責任編輯:彭凡 來源: 51CTO論壇
相關推薦

2009-03-19 09:44:07

SQL Server數據庫遷移數據庫

2011-06-24 15:57:35

SQL AzureDAC

2010-09-14 09:53:52

sql server還

2010-07-15 17:28:50

SQL Server

2011-03-29 09:40:31

SQL Server數據庫鏈接

2011-03-30 15:36:31

SQL Server

2010-10-26 15:54:02

連接oracle數據庫

2009-01-27 21:00:00

服務器數據庫SQL Server

2009-05-04 13:43:16

SQL Server置疑數據庫恢復

2009-03-30 10:56:58

SQL Server數據庫死鎖數據庫

2010-07-08 11:05:14

SQL Server數

2011-08-25 16:13:31

SQL Server批量替換數據

2010-09-13 15:55:17

SQL Server數

2010-09-13 15:31:14

sql server數

2021-05-17 06:57:34

SQLServer數據庫

2011-03-28 14:29:46

SQL Server數主鍵列

2010-09-03 11:00:47

SQL刪除

2010-11-08 16:04:06

SQL SERVER連

2010-11-08 14:02:40

SQL Server系

2011-08-16 09:05:21

SQL Server數測試索引空間換時間
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲综合无码一区二区 | 夜夜草 | 久久乐国产精品 | 精品视频一区二区三区四区 | 91精品国产91久久综合桃花 | 国产精品美女久久久久久免费 | 亚洲一区 | 久久国产精品72免费观看 | 亚洲国产免费 | 精品国产一区二区三区久久狼黑人 | 亚洲午夜精品一区二区三区他趣 | 日韩一区二区三区精品 | 99re在线视频 | 97av在线| 欧美日韩在线免费 | 在线一区 | 久久久九九 | 中文欧美日韩 | 天天拍天天操 | 黄色免费看 | 欧美午夜在线 | 国产精品久久久久久久午夜片 | 精品国产乱码久久久久久图片 | 亚洲成人一区 | 欧美中文字幕一区二区 | 伊人春色在线观看 | 中文字幕日韩一区 | 日本黄色大片免费 | av日韩在线播放 | 精品视频在线一区 | 天天影视综合 | 成人在线视频观看 | 午夜寂寞影院在线观看 | 国产精品一二区 | 国产成人综合在线 | 日韩毛片网 | 久久在线视频 | 毛片视频观看 | 伊人久久免费 | 中文字幕 国产精品 | 国产精品久久久久久中文字 |