固态硬盘和机械硬盘的比较和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地址范围内,最后以平均成绩给出结果。

三星硬盘


数据库读写比较

先创建数据库和表,使用下面脚本,我们随便建立一个堆表

 --测试脚本
USE master
GO
CREATE DATABASE testdisk
GO
USE testdisk
GO
--建立堆表
CREATE TABLE testdisktable(id INT ,NAME VARCHAR(5000))
GO

希捷硬盘

测试插入数据(10000条记录)

 --测试插入
DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE
DBCC freesystemcache('ALL')
GO
SELECT GETDATE()
GO
DECLARE @i INT
SET @i = 1
WHILE ( @i < 10000 )
BEGIN
INSERT INTO [dbo].[testdisktable] ( [id], [name] )
VALUES ( @i, REPLICATE('s', 3000) )
SET @i = @i + 1
END
CHECKPOINT
SELECT GETDATE()
GO

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

两个时刻相减大概18秒

测试读取数据(10000条记录)

 --测试读取
DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE
DBCC freesystemcache('ALL')
GO
SET STATISTICS IO ON
SET STATISTICS TIME ON
GO
SELECT *
FROM testdisktable
SET STATISTICS IO OFF
SET STATISTICS TIME OFF
GO
 DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
SQL Server 分析和编译时间:
CPU 时间 = 0 毫秒,占用时间 = 102 毫秒。 (9999 行受影响)
表 'testdisktable'。扫描计数 1,逻辑读取 5004 次,物理读取 0 次,预读 5004 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 SQL Server 执行时间:
CPU 时间 = 78 毫秒,占用时间 = 1108 毫秒。 SQL Server 执行时间:
CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

Logical reads:包含该语句从内存数据缓冲区中访问的页数和从物理磁盘读取的页数

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

三星硬盘

测试插入数据(10000条记录)

 --测试插入
DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE
DBCC freesystemcache('ALL')
GO
SELECT GETDATE()
GO
DECLARE @i INT
SET @i = 1
WHILE ( @i < 10000 )
BEGIN
INSERT INTO [dbo].[testdisktable] ( [id], [name] )
VALUES ( @i, REPLICATE('s', 3000) )
SET @i = @i + 1
END
CHECKPOINT
SELECT GETDATE()
GO

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

两个时刻相减大概2秒多一点

测试读取数据(10000条记录)

 --测试读取
DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE
DBCC freesystemcache('ALL')
GO
SET STATISTICS IO ON
SET STATISTICS TIME ON
GO
SELECT *
FROM testdisktable
SET STATISTICS IO OFF
SET STATISTICS TIME OFF
GO
 DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
SQL Server 分析和编译时间:
CPU 时间 = 0 毫秒,占用时间 = 5 毫秒。 (9999 行受影响)
表 'testdisktable'。扫描计数 1,逻辑读取 5004 次,物理读取 0 次,预读 5028 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 SQL Server 执行时间:
CPU 时间 = 125 毫秒,占用时间 = 651 毫秒。 SQL Server 执行时间:
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

固态硬盘和机械硬盘的比较和SQLSERVER在两种硬盘上的性能差异的更多相关文章

  1. raid5两块硬盘离线怎么办? 强制上线失败如何恢复数据

    服务器故障描述: 客户使用Dell 2850服务器组建了raid5磁盘阵列,阵列中包含有6块硬盘(SCSI硬盘,单盘容量300G),服务器操作系统为linux Redhat4:文件系统为ext3文件系 ...

  2. 服务器磁盘阵列数据恢复,raid5两块硬盘掉线数据恢复方法

    [用户单位信息] 农业科学研究院某研究所 [磁盘阵列故障发生过程描述]客户的DELL MD1000服务器内置15块1TB硬盘搭建为RAID5磁盘阵列阵列,服务器在正常工作中有一块硬盘离线,管理员对磁盘 ...

  3. Raid5两块硬盘掉线可以恢复数据吗_raid数据恢复案例分享

    本案例中发生故障的存储类型是HP P2000,虚拟化平台为vmware exsi,共有10块硬盘组成raid5(硬盘容量为1t,其中6号盘是热备盘),由于某些故障导致阵列中两块硬盘亮黄灯掉线,硬盘无法 ...

  4. 6块300G SCSI RAID5,两块硬盘损坏的数据恢复总结

    [用户单位]XXXX网站[数据恢复故障描述]DELL POWEREDGE 2850服务器,内置6块300G SCSI硬盘 ,组成RAID5,安装LINUX REDHAT 4操作系统,存储大量照片,文件 ...

  5. 成功案例分享:raid5两块硬盘掉线数据丢失恢复方法

    1. 故障描述    本案例是HP P2000的存储vmware exsi虚拟化平台,由RAID-5由10块lT硬盘组成,其中6号盘是热备盘,由于故障导致RAID-5磁盘阵列的两块盘掉线,表现为两块硬 ...

  6. 如何用两块硬盘做磁盘阵列的教程Raid 1

    如今,市面上的大部分服务器都自带有阵列卡.只要有两块以上硬盘,我们就可以利用服务器自带的阵列卡做磁盘阵列.Raid 1 为例.Raid 1 是磁盘阵列的其中一个系列,将两块硬盘构成磁盘阵列,可以保证数 ...

  7. Windows 8.1硬盘安装Ubuntu 14.04双系统参考教程及多硬盘注意事项

    本文来自:http://www.linuxidc.com/Linux/2015-08/122140.htm,此处仅做收藏. Windows 8.1硬盘安装Ubuntu 14.04双系统参考教程及多硬盘 ...

  8. 固态硬盘与机械硬盘 SQL Server 单表插入性能对比测试

    测试环境

  9. 固态硬盘和机械硬盘双硬盘安装win10,提示无法找到系统

    选择兼容模式,自己慢慢找,不同的主板所在的位置不同,大概是cms(兼容的意思)这个选项,选择enable就可以了

随机推荐

  1. 在Android中调用KSOAP2库访问webservice服务出现的服务端返回AnyType{}

    最近在做毕业设计的时候,涉及到了安卓端访问web service服务端数据库,并返回一个值,当我把web service测试通过后,想写一个简单的安卓测试程序,来实现服务端数据库访问,通过web se ...

  2. react项目中使用antd

    1.antd官网: https://ant.design/docs/react/introduce-cn 2.React中使用Antd 1.安装antd npm install antd --save ...

  3. tips: a=a+b 与 a+=b

    前言: 我们在编码的时候, 经常会使用到 a 加上一个数或者加上一个字符串, 然后再赋值回给 a . 那么 a=a+b 和 a+=b是相同的么? 情景1: a, b 类型相同, 且都为值类型 @Tes ...

  4. PTA (Advanced Level) 1006 Sign In and Sign Out

    Sign In and Sign Out At the beginning of every day, the first person who signs in the computer room ...

  5. SSH-公私钥认证

    Linux下SSH的认证方式有两种,即密码认证和公私钥认证. 我们在日常的安全维护中,出于安全的考虑,密码不明文存放,会使用公私钥认证方式.这个时候我们就需要使用ssh-keygen,ssh-keyg ...

  6. ActiveMQ专题2: 持久化

    AMQ的持久化问题 前言 ​ 前面一篇AMQ专题中,我们发现对于Topic这种类型的消息,即使将deliveryMode设置为持久化,只要生产者在消费者之前启动.消息生产者发布的消息还是会丢失.这是符 ...

  7. 部署---阿里云服务器,linux, ubuntu ,部署django用到的一些命令

    部署项目<下课说>APP时,总结出的一些命令和方法细节 Linux.ubuntu.django.uwsgi.nginx.mysql 里面有些是查找的资料,我也不大懂[手动笑哭],这还是部署 ...

  8. ABP 邮箱设置

    以上为QQ企业邮箱配置  密码为企业邮箱密码 个人QQ邮箱 需要在邮箱设置里面  在账号里面打开  POP3/SMTP服务 密码为授权码 并把SMTP服务器设置为 smtp.qq.com QQ邮箱控制 ...

  9. CentOS7 mini安装后没有ifconfig命令的解决办法

    在CentOS 最小化mini安装后,没有ifconfig命令,此时网卡也没有启动,所以无法yum安装net-tools. 下面三步解决此问题: 1 查看网卡名称 ip addr 2 启动网卡 ifu ...

  10. elasticsearch6.7 04.API规范

    API Conventions elasticsearch的REST的API是使用HTTP的JSON格式暴露的. 除非另有说明,本章中列出的约定可以在整个REST API中应用. 多索引 索引名称支持 ...