淺談SQL Server資料庫並發測試方法

來源:互聯網
上載者:User

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.