测试数据库服务器磁盘性能和实际写入数据库的速度

2021/12/23 19:08:41

本文主要是介绍测试数据库服务器磁盘性能和实际写入数据库的速度,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

实际项目部署数据库服务器时,需要考虑磁盘性能和读写速度。

目录
  • 测试磁盘读写速度
  • 测试实际数据库写入数据速度

测试磁盘读写速度

用磁盘基准测试工具(CrystalDiskMark)可以快速测试磁盘读写速度。

测试实际数据库写入数据速度

通过在数据库中循环重复写入数据,测试数据库实际写入速度以适应实际项目需求。这里以sql server数据库为例,用一个简单的脚本示例测试数据库表的写入速度。

sql脚本如下,使用脚本工具连接数据库,创建存储过程。
根据实际测试需要待插入数据的表来修改表名和表的省略部分,
执行存储过程,就可以得到循环插入数据10W次的时间,以此作为数据库实际写入速度的依据。

/**********************************************************************************************
Procedure Name: GET_ResponseTime
Comment: 获取服务器插入10万行数据响应时间
Return: 服务器运行效率参考
Author              Date            Comment       CODE[YYYYMMDD]
-----------------------------------------------------------------------------------------------

**********************************************************************************************/
IF OBJECT_ID ('dbo.GET_ResponseTime') IS NOT NULL
	DROP PROCEDURE dbo.SP_GET_ResponseTime
GO

CREATE PROCEDURE GET_ResponseTime
as
begin
IF OBJECT_ID ('dbo.tableName') IS NOT NULL
   	DROP TABLE ('dbo.tableName') 
 
CREATE TABLE [dbo].[tableName](
--此处省略该表的细节
) ON [PRIMARY]

DECLARE @i int

--记录开始时间和结束时间
declare @binginTime datetime
declare @endTime datetime

select @binginTime = getdate()
SET @i=1
WHILE @i<100001
BEGIN
SET @i=@i+1

INSERT INTO dbo.[tableName] (--此处省略)
VALUES (--此处省略)
END

select @endTime = getdate()
select @binginTime as 开始,@endTime as 结束,DATEDIFF( Second,@binginTime,@endTime) 耗时秒

end


这篇关于测试数据库服务器磁盘性能和实际写入数据库的速度的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程