在软件架构和优化已经稳定的基础上,怎么样可以提高使用体验呢?只能从硬件方面着手了,加cpu加内存,一般我们客户在购买电脑时也是主要看这2个参数,一般客户的配置的电脑也都达到了cpu4核,内存4g以上了,这样的配置使用软件是绰绰有余了,那还有没有方法让电脑再快一些呢?这里就要看一下,一般会被客户忽略的硬件:硬盘。一般客户配置电脑只是知道硬盘越大越好,硬盘的读取速度常常被忽略,实际上对于我们使用数据库来说,硬盘读取数据库的速度如果提高了,客户使用速度也会有提升,下面对固态硬盘和机械硬盘的性能比较看看。
硬盘读写能力比较
1、机械硬盘
2、固态硬盘
明显可以看出机械硬盘和固态硬盘的硬件读写能力差了几十倍。
SQL数据库两种硬盘读写能力比较
1、机械硬盘
1)测试插入数据(10000条记录)
(22:44:35.540) - (22:44:17.583)=大概18秒
两个时刻相减大概18秒
2)测试读取数据(10000条记录)
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 毫秒。
2、固态硬盘
1)测试插入数据(10000条记录)
(12:50:04.847)- (12:50:02.150) =2秒多一点
两个时刻相减大概2秒多一点
2)测试读取数据(10000条记录)
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 毫秒。
左为机械硬盘,右为固态硬盘
从插入10000条数据比较,机械硬盘18秒多,固态硬盘2秒多,速度差了9倍。从读取10000条数据比较,机械硬盘,CPU 时间 = 78 毫秒,占用时间 = 1108 毫秒。固态硬盘,CPU时间 = 125 毫秒,占用时间 = 651 毫秒。读取速度也有2倍的差距。
综上所述,如果客户在cpu内存已经达到主流的4核4g的水平,可以考虑,把机械硬盘更换为固态硬盘,这样就可以实现速度的再一次提升。但是由于固态硬盘的结构问题,速度虽然快,但是寿命一般在3年左右,建议客户更换了固态硬盘,还要每天做好备份,把备份单独拷贝出来。或者干脆搞2块硬盘,一块固态一块机械,数据库放固态,备份设置到机械硬盘来保存,这样鱼与熊掌都可以兼得。