我们正在考虑从具有Sql Server Web版本的虚拟机迁移到Sql Azure,但是一些非常基本的(我的意思是基本的)测试让我对性能有点关注。我在本地创建了一个数据库并插入了10000行,花了几毫秒,当我连接到一个基本的Sql Azure数据库并运行一个while循环来插入10000行时花了2分20秒。我将数据库升级到标准2(S2),并在40秒内完成。然后我在本地插入了100k行,它在3秒内完成,在S2上花了6分41秒。
我知道这是非常基本的测试,但它确实让我担心Sql Azure的性能。我们目前拥有一个拥有8个内核和56GB内存(Azure VM D13)的虚拟机,托管着大约10个数据库。我们想要移动,所以我们不再需要担心管理Sql Server虚拟机。
阅读了几次:
https://msdn.microsoft.com/library/azure/dn741336.aspx
他们计算这些值的方式完全超出我的范围,例如S2说每分钟2570次交易,但我在6分钟内插入了100k行。
这是我用来测试的循环:
DECLARE @cnt int = 100000
WHILE (@cnt > 0)
BEGIN
declare @seed int;
declare @string varchar(256);
select @seed = @cnt; -- saved start seed
exec GetRandomString @maxlen=50,
@seed = @seed output
, @string = @string output;
BEGIN TRANSACTION
INSERT INTO Users VALUES (@string)
COMMIT TRANSACTION
SET @cnt = @cnt - 1;
END