将 Nytro WarpDrive 加速卡配置为文件系统
本节说明的操作使您可调整 Nytro WarpDrive 加速卡,增强使用 Oracle Linux with
Unbreakable Enterprise Kernel (UEK) 操作系统的性能。这些配置步骤在 UEK 和 Oracle Linux
操作系统中均有效。以下步骤将 Nytro WarpDrive 卡为 MySQL 数据库的每个主服务器和从
服务器配置为一个文件系统。其他选项可用于加倍 Nytro WarpDrive 加速,并使用 RAID 提
供容错能力,实现额外的数据保护。
1. 在 Linux 操作系统中将 Nytro WarpDrive 卡与 1MB 边界对齐。以下示例介绍如何将
Nytro WarpDrive 卡分区作为从 1MB 边界开始的单一分区。
echo “2048,,” | sfdisk -uS /dev/sda
Disk /dev/sda: 24321 cylinders, 255 heads, 63 sectors/track
Units = sectors of 512 bytes, counting from 0
Device Boot Start End #sectors Id System
/dev/sda1 2048 390721535 390719488 83 Linux
/dev/sda2 0 - 0 0 Empty
/dev/sda3 0 - 0 0 Empty
/dev/sda40 0 - 0 0 Empty
2. 创建文件系统时绕过日志记录。采用 EXT-4 文件系统并关闭日志记录,而非使用 EXT-3,
消除某些情况下对 Nytro WarpDrive 卡的双重写入。写入的减少提高了性能并延长了 Nytro
WarpDrive 卡的寿命。
3. 创建 EXT-4 文件系统并关闭日志记录时:
$ mkfs –t ext4 /dev/sda1 或 mkfs.ext4 /dev/sda1
创建 EXT-4 文件系统后,日志记录默认开启。为进行验证,执行 tune4fs 命令:
$ tune4fs –l /dev/sda1 | grep ‘Filesystem features’
注意应列出“has_journal”功能。如需关闭日志记录,执行:
$ tune4fs -O ^has_journal /dev/sda1
4. 验证已关闭日志记录,执行以下命令并确保未列出“has_journal”。
$ tune4fs –l /dev/sda1 | grep ‘Filesystem features’
5. 加载新 EXT-4 设备时(以下描述 noatime 选项):
$ mount -o noatime /dev/sda1 /mountpoint
6. 修改内核 I/O 调度程序。最新 Linux 操作系统版本中的 I/O 调度程序具备
新的 I/O 能力,包括在启动时修改这些设置的选项。在本文件所描述的测试
中, DEADLINE I/O 调度程序与 noatime 文件系统加载选项配合使用。如需调用整
个系统的 DEADLINE 调度程序,将此行添加到 /etc/grub.conf 文件并重启系统。
$ kernel /vmlinuz-2.6.39-300.28.1.el6uek.x86_64 ro root=/dev/mapper/vg_nytrolv_root elevator=deadline
调用 DEADLINE IO 调度程序的另一种方式是使用以下命令修改 /etc/rc.local 文件:
$ echo “deadline” > /sys/block/sda/queue/scheduler
7. 如需确认已启用 DEADLINE 调度程序,将以下声明作为根发布。
$ cat /sys/block/sda/queue/scheduler
noop anticipatory [deadline] cfq 8. 除了更改 I/O 调度程序, noatime 文件系统加载选项已启用,并且添加到 /etc/fstab 文
件。
此选项在仅读取对象时使系统无需创建对文件系统的写入。此选项还允许更快速地访问文
件,并减少对 Nytro WarpDrive 卡的磨损。此例介绍了 /etc/fstab 如何调用 noatime 选项:
/dev/sda1 /osfc ext4 defaults,noatime 1 2
调用 noatime 选项的另一种方式是指在执行加载命令时制定此选项:
$ mount –o noatime /dev/sda1 /osfc 9. 将行列深度( QD)从默认的 128 提高到 256 或更高(取决于数据库工作负荷),可提
高 Nytro WarpDrive 的性能。由于 Nytro WarpDrive 卡的延迟是如此之小,与硬盘驱动器相
比, Nytro WarpDrive 卡上可同时运行多项 I/O 操作/命令。为了修改行列深度,需将
nr_requests 参数修改为与新行列深度相同或更大的值。以下为修改测试中所用 /dev/sda 的
nr_requests 和 queue_depth 参数的示例:
$ echo “512” > /sys/block/sda/queue/nr_requests IO调度队列大小
$ echo “512” > /sys/block/sda/device/queue_depth 磁盘队列深度 10. 通过告诉操作系统在启动其的相同 CPU 上完成 I/O 请求还可确认更多性能优点。在一
些工作负荷中,这可提供明显的性能提高。如需在 Nytro WarpDrive 设备中启用此功能:
echo “1” > /sys/block/sda/queue/rq_affinity
11. 可提供更高性能的另一个操作设置是将旋转设置设为 0,表示设备是非旋转设备,而是
一个闪存设备:
echo 0 > /sys/block/sda/queue/rotational
注:如需在重启时保持这些设置,将所有这些命令放入 /etc/rc.local 文件。

在操作系统中,I/O Scheduler的调度模式选择deadline对于数据库应用是有利的。命令:echo deadline > /sys/block//queue/scheduler

操作系统中nr_requests参数,可以提高系统的吞吐量,似乎越大越好,但是该请求队列的也不能过大,因为这样会消耗大量的内存空间。该值的调整需要综合多处因素,

比如: 文件系统、sheduler类型、io的特点。

命令: echo xxx > /sys/block//queue/nr_requestsnr_requests的大小设置至少是/sys/block//device/queue_depth的两倍,所以,修改nr_requtests的时候要注意。

Mysql : L闪存卡linux中的内核参数设置的更多相关文章

  1. 理解 Linux backlog/somaxconn 内核参数

    https://jaminzhang.github.io/linux/understand-Linux-backlog-and-somaxconn-kernel-arguments/ 各参数的含义:h ...

  2. (转)Linux内核参数设置sysctl命令详解

    Linux内核参数设置sysctl命令详解 原文:https://www.zhukun.net/archives/8064 sysctl是一个允许您改变正在运行中的Linux系统的接口. 它包含一些 ...

  3. Linux之TCPIP内核参数

    /proc/sys/net目录 参考1.Linux之TCPIP内核参数优化 所有的TCP/IP参数都位于/proc/sys/net目录下(请注意,对/proc/sys/net目录下内容的修改都是临时的 ...

  4. TCP三次握手与Linux的TCP内核参数优化

    感谢各位技术大佬的资料分享,这里我把我理解的内容做一个整理 一:TCP的三次握手 1.TCP简述 TCP是一个面向连接的协议,在连接双方发送数据之前,首先需要建立一条连接.TCP建立连接可以简单称为: ...

  5. linux中touch命令参数修改文件的时间戳(转)

    linux中touch命令参数不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件,以下是linux中touch命令参数的使用方法: touch [-acm][-r ...

  6. 在Linux上进行内核参数调整

    在Solaris上,使用工具mdb就可以直接修改内核内存里的内容.而在Linux上,则通常使用命令sysctl(8)做类似的事情. 本文以Fedora为例,介绍如何在Linux上进行内核参数调整. 常 ...

  7. linux中touch命令参数修改文件的时间戳(转载)

    转自:http://os.51cto.com/art/200908/144237.htm linux中touch命令参数不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存 ...

  8. Linux中mpstat命令参数详解

    Linux中mpstat命令参数详解 mpstat 是 Multiprocessor Statistics的缩写,是实时系统监控工具.其报告与CPU的一些统计信息,这些信息存放在 /proc/stat ...

  9. Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数

    Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4  为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift1 ...

随机推荐

  1. delphi xe5 android sample

    安装xe5以后demo存放的路径在  C:\users\Public\Documents\RAD Studio\12.0\Samples 另外易博龙在sourceforget上也有 svn地址为:sv ...

  2. python之---类和实例

    类和实例: 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但 ...

  3. 偶尔转帖:AI会议的总结(by南大周志华)

    偶尔转帖:AI会议的总结(by南大周志华) 说明: 纯属个人看法, 仅供参考. tier-1的列得较全, tier-2的不太全, tier-3的很不全. 同分的按字母序排列. 不很严谨地说, tier ...

  4. Hibernate 注解时 hibernate.hbm.xml的配置方法 以及与SSH整合里的配置方式

    ①纯Hibernate开发: 当你在Bean中写入注解后,需要告诉hibernate哪些类使用了注解. 方法是在hibernate.hbm.xml文件中配置 <!DOCTYPE hibernat ...

  5. 【20161030la 】总结

    就写个题解 1. 生成树(Tree) 有一种图形叫做五角形圈.一个五角形圈的中心有1个由n个顶点和n条边组成的圈.在中心的这个n边圈的每一条边同时也是某一个五角形的一条边,一共有n个不同的五角形.这些 ...

  6. C#子线程更新UI控件的方法总结

    http://blog.csdn.net/jqncc/article/details/16342121 在winform C/S程序中经常会在子线程中更新控件的情况,桌面程序UI线程是主线程,当试图从 ...

  7. SPRING IN ACTION 第4版笔记-第二章WIRING BEANS-008-在XML配置文件中引入JAVA配置文件 <import> 、<bean>

    一.在xml中引入xml,用<import> <?xml version="1.0" encoding="UTF-8"?> <be ...

  8. SharedPreference.Editor的apply跟commit方法的異同

    相同点: 1.二者都可提交preference的修改数据 2.二者都是原子操作 区别: 1.apply没有返回值而commit返回boolean表明修改是否提交成功 2.apply是将修改数据原子提交 ...

  9. PLSQL调用webservice

      1.   用途简介 为什么要在Oracle中访问WebService?在系统实现中,有时会有直接在数据库端利用触发器.存储过程等方式进行数据传递.分发的业务,而其中可能会涉及一些业务逻辑,为了处理 ...

  10. bzoj1449

    竞赛图一般是把每场比赛当作一个点,然后和相应球队连边每场比赛一赢一输对两支球队都有影响看起来不好搞实际上我们可以先假设参加后面后面所有球队都输(每场比赛双输)然后对每场比赛我们选择一支球队赢计算增加的 ...