固態硬盤和機械硬盤的比較和SQLSERVER在兩種硬盤上的性能差異


固態硬盤和機械硬盤的比較和SQLSERVER在兩種硬盤上的性能差異

在看這篇文章之前可以先看一下下面的文章:

SSD小白用戶收貨!SSD的誤區如何解決

這樣配會損失性能?實測6種特殊裝機方式

聽說固態硬盤是高富帥的必備神器,本人為了提升工作效率和提高工作速度

這個月節衣縮食,終於也決定買了一塊三星固態硬盤120G容量

這個固態硬盤拿在手里輕飄飄的, 好像里面什么東西都沒有似的

廢話少說,先上圖

開機速度20秒左右

 

測試環境:Windows7,SQLSERVER2005個人開發者版 SP4

我這里用舊的硬盤希捷硬盤和新買的固態硬盤三星硬盤來比較

這次測試用到的測試軟件:

ASSSDBenchmark_1.7_XiaZaiBa

http://files.cnblogs.com/lyhabc/ASSSDBenchmark_1.7_XiaZaiBa.zip

HDTune 5.0

http://files.cnblogs.com/lyhabc/HDTune5.0.rar

ATTO DiskBenchmark:

http://files.cnblogs.com/lyhabc/ATTODiskBenchmark%E6%B5%8B%E8%AF%95%E7%A1%AC%E7%9B%98%E8%AF%BB%E5%86%99.rar

 

由於這篇文章SSD固態硬盤詳解說首次安裝不能用GHOST版Windows7來安裝

那我只能上網下載裝機版鏡像,並刻錄成光碟,經過一番折騰終於安裝好操作系統和SQLSERVER了

網上有很多4KB對齊的文章,例如下面所說:

GHOST11.5版本之前的 Ghost 裝 Win7 會導致已有對齊的分區不對齊

Ghost 能用嗎?

能用,只是 Ghost 11.5 之前的版本會導致即使原有分區是對齊的,Ghost 后不對齊

11.5 及之后版本 只要鏡像創建於對齊的分區,恢復后也是對齊的。如果你不清楚你所使用 Ghost 的版本請最好不要使用。

-------------------------------------------------------------------------------------------------

用魯大師顯示一下硬盤信息

希捷硬盤

三星硬盤

 

 

 

關於性能問題:

由於是Windows7的系統,那么我的筆記本電腦瓶頸就在SATA2.0接口上

AHCI模式、TRIM指令、4KB對齊這些條件都沒有問題

至於4KB這個對齊參數是不是可以達到性能最佳這個要看您的固態硬盤的閃存顆粒用的是哪一種

最好咨詢一下賣家或者硬盤廠商,由於本人是固態硬盤的小白,為了裝好系統盡快上班工作就不研究

這個參數了,直接設置為4KB

說明一下:這篇文章的測試結果僅供參考!!

 

IOPS

IOPS (Input/Output Operations Per Second),即每秒進行讀寫(I/O)操作的次數,多用於數據庫等場合,衡量隨機訪問的性能。

存儲端(例如硬盤,磁盤陣列)的IOPS性能和主機端的IO是不同的,IOPS是指存儲每秒可接受多少次主機發出的訪問,

主機的一次IO需要多次訪問存儲才可以完成。

例如,主機寫入一個最小的數據塊,也要經過“發送寫入請求、寫入數據、收到寫入確認”等三個步驟,也就是3個存儲端訪問。

百度百科:http://baike.baidu.com/link?url=ynaU0M9SQPMWLjudQnyK5WqNJvPuFR1RjKCgx0FiA7REqY9A7AR7IAkNaWeA5nhAruLTPS_OtM2qscG3zkZ_mq

 

4KB對齊是什么?

大家知道Windows是以扇區為讀寫單位的,一個扇區默認就是4096BYTE(4KB),8個512字節

您們可以看到下面的測試軟件,多數以4KB為單位

而固態硬盤是以頁為讀寫單位的,為了兼容機械硬盤,硬盤廠商做了一些設置使兼容機械硬盤,而這個設置就是4KB對齊

但是不同的固態硬盤內存顆粒,不一定就是4KB大小就可以對齊的

因為本人對固態硬盤還是小白,不過原理應該就是這個o(∩_∩)o


HDTune 5.0

HDTUNE只測試了讀取忘記了測試寫入,不好意思啊各位!

希捷硬盤

三星硬盤

 


ATTO Disk Benchmark

希捷硬盤

三星硬盤

 


AS SSD Benchmark

希捷硬盤

由於希捷硬盤測試到中途突然停止了,沒有辦法繼續測試,AS SSD Benchmark這部分我們只測試三星硬盤

而且在下面文章中也提到:機械硬盤在AS SSD和CDM軟件下測試意義不大。

參考文章:別低估成績 和你解讀8款硬盤檢測軟件

Seq:持續測試,AS SSD會先以16MB的尺寸為單位,持續向受測分區寫入生成1個達到1GB大小的文件,

然后再以同樣的單位尺寸讀取這個,最后計算平均成績而給出結果。測試一完畢,測試文件會立刻刪除。

4K:隨機單隊列深度測試,測試軟件會以512KB的單位尺寸生成1GB大小的測試文件,

然后在其地址范圍(LBA)內進行隨機4KB單位尺寸進行寫入及讀取測試,直到跑遍這個范圍為止,最后同樣計算平均成績給出結果。

由於有生成步驟,本測試對硬盤會產生一共2GB的數據寫入量。本測試完畢后,測試文件會暫時保留。

4K-64Thrd(64Thrd 64線程):隨機64隊列深度測試,軟件則會生成64個16MB大小的測試文件(共計1GB),

然后同時以4KB的單位尺寸,同時在這64個文件中進行寫入和讀取測試,最后依然以平均成績為結果。

本步驟也同樣產生2GB的數據寫入量。本測試一完畢,測試文件會立刻刪除。

Acc.time(accurate精確的):數據存取時間測試,軟件會以4KB為單位尺寸,隨機讀取全盤地址范圍(LBA),

寫入則以512B為單位尺寸,隨機寫入保留的1GB地址范圍內,最后以平均成績給出結果。

 

三星硬盤

 


數據庫讀寫比較

先創建數據庫和表,使用下面腳本,我們隨便建立一個堆表

 1 --測試腳本
 2 USE master
 3 GO
 4 CREATE DATABASE testdisk
 5 GO
 6 USE testdisk
 7 GO
 8 --建立堆表
 9 CREATE TABLE testdisktable(id INT ,NAME VARCHAR(5000))
10 GO
View Code

希捷硬盤

測試插入數據(10000條記錄)

 1 --測試插入
 2 DBCC DROPCLEANBUFFERS
 3 DBCC FREEPROCCACHE
 4 DBCC freesystemcache('ALL')
 5 GO
 6 SELECT  GETDATE()
 7 GO
 8 DECLARE @i INT
 9 SET @i = 1
10 WHILE ( @i < 10000 ) 
11     BEGIN
12         INSERT  INTO [dbo].[testdisktable] ( [id], [name] )
13         VALUES  ( @i, REPLICATE('s', 3000) )
14         SET @i = @i + 1
15     END
16 CHECKPOINT 
17 SELECT  GETDATE()
18 GO
View Code

(22:44:35.540)  -  (22:44:17.583)=大概18秒

兩個時刻相減大概18秒

 

測試讀取數據(10000條記錄)

 1 --測試讀取
 2 DBCC DROPCLEANBUFFERS
 3 DBCC FREEPROCCACHE
 4 DBCC freesystemcache('ALL')
 5 GO
 6 SET STATISTICS IO ON
 7 SET STATISTICS TIME ON 
 8 GO
 9 SELECT  *
10 FROM    testdisktable
11 SET STATISTICS IO OFF
12 SET STATISTICS TIME OFF 
13 GO
View Code
 1 DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
 2 DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
 3 DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
 4 SQL Server 分析和編譯時間: 
 5    CPU 時間 = 0 毫秒,占用時間 = 102 毫秒。
 6 
 7 (9999 行受影響)
 8'testdisktable'。掃描計數 1,邏輯讀取 5004 次,物理讀取 0 次,預讀 5004 次,lob 邏輯讀取 0 次,lob 物理讀取 0 次,lob 預讀 0 次。
 9 
10 SQL Server 執行時間:
11    CPU 時間 = 78 毫秒,占用時間 = 1108 毫秒。
12 
13 SQL Server 執行時間:
14    CPU 時間 = 0 毫秒,占用時間 = 0 毫秒。

Logical reads:包含該語句從內存數據緩沖區中訪問的頁數和從物理磁盤讀取的頁數

---------------------------------------------------------------------------------------------------------

三星硬盤

測試插入數據(10000條記錄)

 1 --測試插入
 2 DBCC DROPCLEANBUFFERS
 3 DBCC FREEPROCCACHE
 4 DBCC freesystemcache('ALL')
 5 GO
 6 SELECT  GETDATE()
 7 GO
 8 DECLARE @i INT
 9 SET @i = 1
10 WHILE ( @i < 10000 ) 
11     BEGIN
12         INSERT  INTO [dbo].[testdisktable] ( [id], [name] )
13         VALUES  ( @i, REPLICATE('s', 3000) )
14         SET @i = @i + 1
15     END
16 CHECKPOINT 
17 SELECT  GETDATE()
18 GO
View Code

 

 (12:50:04.847) - (12:50:02.150)  =2秒多一點

兩個時刻相減大概2秒多一點

 

測試讀取數據(10000條記錄)

 1 --測試讀取
 2 DBCC DROPCLEANBUFFERS
 3 DBCC FREEPROCCACHE
 4 DBCC freesystemcache('ALL')
 5 GO
 6 SET STATISTICS IO ON
 7 SET STATISTICS TIME ON 
 8 GO
 9 SELECT  *
10 FROM    testdisktable
11 SET STATISTICS IO OFF
12 SET STATISTICS TIME OFF 
13 GO
View Code
 1 DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
 2 DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
 3 DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
 4 SQL Server 分析和編譯時間: 
 5    CPU 時間 = 0 毫秒,占用時間 = 5 毫秒。
 6 
 7 (9999 行受影響)
 8'testdisktable'。掃描計數 1,邏輯讀取 5004 次,物理讀取 0 次,預讀 5028 次,lob 邏輯讀取 0 次,lob 物理讀取 0 次,lob 預讀 0 次。
 9 
10 SQL Server 執行時間:
11    CPU 時間 = 125 毫秒,占用時間 = 651 毫秒。
12 
13 SQL Server 執行時間:
14    CPU 時間 = 0 毫秒,占用時間 = 0 毫秒。

 

 

這兩個硬盤的時間差異比較就是執行時間的差異比較分析編譯時間的差異比較

因為IO(讀取數據頁)無論是固態硬盤還是機械硬盤都是需要做的

但是分析編譯時間和執行時間不一樣

分析編譯期間SQLSERVER需要編譯中間代碼,這個過程也是需要讀取磁盤文件的

執行時間里包括從磁盤里讀取數據,因為機械硬盤有尋道時間而固態硬盤沒有

詳細的大家可以看一下我這篇文章:帶您理解SQLSERVER是如何執行一個查詢的


總結

上面的測試結果有積極的參考意義,如果本人的筆記本電腦接口是原生SATA3.0的速度肯定會更快

打開網頁的時候也很快,因為瀏覽器需要將cookies、緩存文件、圖片下載到本地然后顯示

自從換了SSD之后多年的老問題解決了,健步如飛了~

 

小貼士:三星固態硬盤在淘寶天貓買的不用600塊,還包郵,賣家對我這種小白的態度也很好

            有很多地方不明白也耐心教導o(∩_∩)o

 

 

三星 860 QVO 固態硬盤
https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_9350764872635181512%22%7D&n_type=0&p_from=1
這款產品的1TB版本京東售價769元,價格低至7毛/GB,還有3年或最高1440TB寫入的保修,讓大家對其使用壽命和質量擁有極大信心。
正如三星 860 QVO SSD的宣傳語寫道“讓TB容量SSD普及”,這便是該款產品的最大意義。至於讀550MB/s,寫520MB/s的優秀性能反而不是最重要的事了。

 

阿里雲ECS 1.7TB本地固態盤

 

如有不對的地方,歡迎大家拍磚o(∩_∩)o


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM