查看磁盘读取速度命令

sudo hdparm -Tt /dev/sda

运行结果:

  我在服务器上测试的,服务器上是固态硬盘。每秒2221MB,也就是将近两个G

/dev/sda:
Timing buffered disk reads: 6666 MB in 3.00 seconds = 2221.36 MB/sec

 普通的磁盘速度

/dev/sda:
Timing buffered disk reads: 3870 MB in 3.02 seconds = 1279.52 MB/sec

 

 ~ps 不要忽视磁盘读取速度这个细节,磁盘IO, cpu,网络IO是很重要的点。其中任何一个到达瓶颈都直接制约其它的资源发挥。

  那么针对这个点,来说一下数据库的存储。也就是说,如果一台机器,你把数据存在磁盘上,那么极限的读取速度是和磁盘读取速度挂钩的。比方说我的第一台机器,那么也就是每秒只能读取2G的数据。

  想要优化数据库,就是合理的利用磁盘。想想办法如何能在有限的IO下,将所有的数据读取到。比方说数据库利用索引,来减少数据的IO。一旦索引失效,就要扫全表。把所有的数据都读取一遍。也就是说假如你的数据是2G,那么至少要花费1s的时间来读取。加入这一秒之内有两个任务,要么第二个任务等待第一个任务读取完,第二个任务再读取,要么两个任务交替执行,加上阻塞的时间,在极差的情况下,两个任务都花2s+的时间。