Linux系统出现了性能问题,一般我们可以通过top、iostat、free、vmstat等命令来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据。
1. 基本使用
$iostat -d -k 1 10
参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1 10表示,数据显示每隔1秒刷新一次,共显示10次。
(more…)Linux系统出现了性能问题,一般我们可以通过top、iostat、free、vmstat等命令来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据。
$iostat -d -k 1 10
参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1 10表示,数据显示每隔1秒刷新一次,共显示10次。
(more…)本文试图从硬件结构、逻辑结构两方面来介绍Linux中本地磁盘的基本知识。
1. 硬件结构
一块磁盘由多个盘面组成,每个盘面有一个对应的磁头(heads),我们可以在该盘面上存储我们需要的信息。
每一个盘面,被分成多个圆环,我们称之为柱面(cylinders)。每一个柱面又被分割为多个扇形区域,简称扇区(sectors),参见下图:
(图片来源www.eygle.com/)
两个红色环形之间是一个柱面;图中黄色标记部分是一个扇区。 (more…)
这是步入工作后的第一个春节假期,感冒是在这个的假期最后一天:
大概是喝了一点加冰的可乐,上午喉咙就有些疼了,一般这也是我感冒的征兆,但是也有很多时候,就只是喉咙痛而已,所以自己也没有太在意。我的喉咙(扁桃体)是很脆弱的,很早之前医生就建议不要和太冰或者太烫的饮料。匆忙的火车、汽车让自己暂时忘记了不适,晚上到住处洗完澡后,才发现把羽绒服裹上,身体表面发烫,但是还是觉得一阵阵冷意;隐隐的头痛也明显了;虽没有吃晚饭,却一点也不饿,也感觉自己一点胃口都没有。
晚上随便吃点东西后,像往常一样睡觉。裹着厚厚的被子,身体还是感觉到阵阵凉意,不知道从哪儿来的。
半夜醒来,真真的感冒才发威。喉咙还是和白天一样疼,感觉全身发烫,奇怪的是还觉得冷。身体姿势无论怎样调整,都无法入睡。逐渐感觉头痛得厉害,脑袋晕晕的。虽然想拼命的继续睡着,不过发现自己反而越来越清醒。窗外有微弱的灯光照到房间的天花板,盯着天花板,思绪犹如脱缰的野马到处乱跑,安静的睡着是不可能了。 (more…)
记得刚开始看InnoDB文档的时候,Double Write一节(其实只有一小段)就让我很困惑。无奈当时内力太浅,纠缠了很久也没弄明白。时隔几个月,重新来整理一下。
涉及到的概念:Buffer Pool简称BP,Dirty Page,Log file,Flush,innodb tablespace。
1. 什么是Double Write
在InnoDB将BP中的Dirty Page刷(flush)到磁盘上时,首先会将Page刷到InnoDB tablespace的一个区域中,我们称该区域为Double write Buffer。在向Double write Buffer写入成功后,再择机将数据拷贝到正在的数据文件对应的位置。
咋一看,这个过程有些多余 (more…)