• Linux系统出现了性能问题,一般我们可以通过top、iostat、free、vmstat等命令来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据。

    1. 基本使用

    $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 PageLog fileFlushinnodb tablespace

    1. 什么是Double Write

    在InnoDB将BP中的Dirty Page刷(flush)到磁盘上时,首先会将Page刷到InnoDB tablespace的一个区域中,我们称该区域为Double write Buffer。在向Double write Buffer写入成功后,再择机将数据拷贝到正在的数据文件对应的位置。

    咋一看,这个过程有些多余 (more…)

  • 在前两篇(前篇中篇)中,分别介绍了Key Cache的基本原理(LRU和Midpoint Insertion Strategy)。最后,将介绍一些相关的参数、状态参数和命令。

    Key Cache的配置很灵活,可以针对全局配置,还可以针对某个单独数据表分配Key Cache的大小;如果一个数据表某部分的索引块被访问的非常频繁(较之其他索引块),那么可以配置Midpoint Insertion Strategy达到最大的利用率(参考)。 (more…)