1. 程式人生 > 其它 >測試資料庫伺服器磁碟效能和實際寫入資料庫的速度

測試資料庫伺服器磁碟效能和實際寫入資料庫的速度

實際專案部署資料庫伺服器時,需要考慮磁碟效能和讀寫速度。

目錄

測試磁碟讀寫速度

用磁碟基準測試工具(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