MySQL 调优基础(三) Linux文件系统

Linux的文件系统有点像MySQL的存储引擎,它支持各种各样的文件系统。它最上层是通过 virtual files system虚拟文件系统作为一个抽象接口层来对外提供调用的。然后下层的各种文件系统实现这些调用接口就行了。

 

1. Linux 中的 日志文件系统和非日志文件系统

 

文件内容的修改涉及到两部分:实际文件内容的修改 和 文件元(metadata)信息的修改。所以在修改一个成功之后,修改另一个之前,此时系统崩溃,就会导致两者的不一致。所以提出了日志文件系统的概念。

 

所谓的日志文件系统(Journaling file system),就是在实际修改文件内容和文件元信息之前,将他们的修改先写到一个日志中(journal log)。这样的话,如果发生系统崩溃,就可以使用日志进行恢复。当然,写日志会对文件系统的性能有一定的影响。除了ext2之外,其它文件系统几乎都是日志文件系统。

 

日志文件系统的处理过程是:1)先写日志;2)然后写实际的文件系统;3)删除日志;

 

日志文件系统又可以分成三种类型:

 

1)日志模式(journal): 将所有的元数据和数据改变均写入日志,对性能影响最大;

 

2)预定模式(ordered): 只记录元数据的变化, 在数据写入磁盘后再修改元数据,对性能影响中等;

 

3)写回模式(writeback): 只记录元数据的修改变化,对数据修改顺序无要求,对性能影响最小;

 

我们可以在/etc/fstab 文件中修改文件系统的日志模式。

 

/dev/sdb1 /testfs ext3 defaults,data=writeback 0 0

 

Linux 常用文件系统:

 

ext4, ext4, XFS, ReiserFS, JFS

 

其中最常用的是 ext4, XFS. 其中redhat7/centos7将XFS作为默认的文件系统。在最新内核的测试中XFS性能也明显超过ext4。所以对于mysql服务器,最好选择使用 XFS 文件系统。

 

关于 ssd上的ext4和xfs有一个比较:

 

https://www.percona.com/blog/2012/03/15/ext4-vs-xfs-on-ssd/

 

在rhel6.4之前ext4性能比xfs好,因为xfs有lock争用的bug。但是6.4开始,xfs的bug被fix了。所以xfs性能比ext4好。

 

在xfs的锁争用bug没有解决时:

 

 

    sync                      async
threads throughput            throughputXFS         ext4        XFS         ext4
1    1.90/124k   1.41/92k     1.72/112k   1.41/92k
2    1.01/64k    1.65/108k    0.97/62k    1.65/108k
4    0.27/17k    1.55/102k    0.21/13k    1.55/102k
8    0.13/8k     1.45/95k     0.15/9k     1.45/95k
16   0.12/7k     1.45/95k     0.12/7k     1.45/95k 

 

 

 

It’s pretty clear from these results that lock contention is killing XFS as the thread count grows. ext4 performance shows that it uses exclusive locking as well, but it is not degrading like XFS is due to different lock types being used.

 

但是当xfs的锁争用bug解决之后:

 

 

    sync                      async
threads throughput            throughputvanilla     patched      vanilla      patched
1    1.90/124k   1.83/120k    1.72/112k   1.69/111k
2    1.01/64k    2.85/185k    0.97/62k    2.57/168k
4    0.27/17k    3.68/241k    0.21/13k    3.41/223k
8    0.13/8k     4.42/290k    0.15/9k     4.16/273k
16   0.12/7k     4.95/325k    0.12/7k     4.86/319k

 

 

 

Throughput scales with thread count – each thread runs at 100% CPU utilsation, and XFS gets up to 3x as much throughput as ext4 does. So, basically, XFS is still the file system you want for direct IO。

 

挂在文件时的优化(noatime,nodiratime):

 

mount –t ext4 –o rw,noatime,nodiratime /dev/sda6 /data

 

noatime 会有0-10%的性能提升,一般平均会有3%的性能提升。

 

noatime:

 

Do not update inode access times on this filesystem (e.g, for faster access on the news spool to speed up news servers).

 

nodiratime:

 

Do not update directory inode access times on this filesystem.

 

noatime,nodiratime的配置也可以在/etc/fstab中进行。

转载于:https://www.cnblogs.com/zengkefu/p/5683679.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/457574.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 经典类和新式类

DAY 12. python新式类和旧式类 继承自object基类的类叫做新式类,否则叫做旧式类,python3中的类默认是新式类,之前版本默认是旧式类 rootkail:~# python python 2.7.15 (default,Jul 28 2018,11:29:29) [GCC 8.1.0] on linux2 Type "he…

Why does pthread_cond_signal not work?【转】

转自:http://stackoverflow.com/questions/16819169/why-does-pthread-cond-signal-not-work# 0 down vote favorite I am currently learing all around POSIX threads (pthread). I now have created a simple program which increased a shared value by 7 until…

Android开发技术周报 Issue#72

新闻 Android N 最初预览版:开发者 API 和工具教程 Gradle依赖的统一管理 理解Java垃圾回收机制 浅谈 Android 编程思想和架构 由Android 65K方法数限制引发的思考 Android音频开发(1):基础知识 Android音频开发(…

python 单例模式的四种实现方法

DAY 13. 单例设计 13.1 什么是单例设计 一个类每次实例化返回的都是同一个对象,这种设计模式叫做单例设计,这个类叫做单例类 13.2 实现单例设计的方法 13.2.1 重写__new__() class Foo:def __new__(cls,*args, **kwargs):# 如果是第一次实例化&…

Redis3.2.5部署(单节点)

1.安装jdk1.8 [rootsht-logstash-01 ~]# cd /usr/java/ [rootsht-logstash-01 java]# wget --no-check-certificate --no-cookies --header "Cookie: oraclelicenseaccept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u111-b14/jdk-8u111…

字节跳动 设计模式 pdf_凭这份pdf我拿下了美团、字节跳动、阿里、小米等大厂的offer...

关于程序员,除了做项目来提高自身的技术之外,还有一种提升自己的专业技能就是:多!看!书!小编整理出一篇Java进阶架构师之路的核心知识,同时也是面试时面试官必问的知识点,篇章也是包…

B. One Bomb (#363 Div.2)

B. One Bombtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a description of a depot. It is a rectangular checkered field of n  m size. Each cell in a field can be empty (".") or…

力扣交替打印FooBar

这道题要注意的是两个线程唤醒和等待的顺序,应为第一个线程会比第二个线程更早结束,所以如果第一个线程已经结束,而第二个线程还在等待被唤醒,那第二个线程会一直等待下去,因此第一个线程要先等待后唤醒,这…

项目开发容易出错情况统计

2016年11月17日 11:30:45 星期四 1.适配: a) APP弹窗大屏幕适配(例如, 是否居中) 2.按钮状态: a) 按钮点击后没有disable 如果新页面加载卡顿导致用户多次点击,生成多次请求 b) 按钮disable后什么时候enabl…

python会不会出4_无极4网人生苦短,Python会不会被取代?国外网友

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。人生苦短,我该不该选择Python?编程语言几年一变样,榜单之争也是愈演愈烈,还架不住时不时杀出个黑马……而对于Python,自2010年初以来一直蓬…

android 音频播放总结 soundlPool,MediaPlay

soundlPool 用于小音频的播放多个同时播放。 使用步骤: 步骤一: 首先下载音频文件可以将其放入assets文件夹下或者res下的raw文件夹下,区别在于assets下可以再新建文件夹而raw不行,assets内部单个文件超过1m时可能存在bug而raw不会…

文本分析软件_十大针对机器学习的文本注释工具与服务,你选哪个?

房地产和键【51CTO.com快译】目前,从搜索引擎与情感分析,到虚拟助手与聊天机器人,机器学习应用场景中的许多研究领域,都需要通过文本注释工具与服务来提供准确性。在AI研究与开发行业中,发现或创建可注释的数据对于项目…

sqlite创建表

create table bike (id varchar(6) primary key, password char(6));

python 垃圾回收机制

DAY 18. python垃圾回收机制 python GC主要有三种方式 引用计数标记清除分代回收 其中,以引用计数为主。 18.1 引用计数(Reference Counting) 《寻梦环游记》中说,人一生会经历两次死亡,一次是肉体死的时候&#…

曲线连接线_荷重位移曲线仪操作使用注意事项-荷重位移曲线仪厂家

荷重位移曲线仪广泛适用于各种按键及开关、DOME片、按键、微力弹片、硅胶按键、汽车开关之荷重-行程测定;Windows中英文双语软件,操作简单方便,软件流畅稳定,所有测试资料(测试条件,曲线,数据结果&#xff…

进程调度

1、策略 策略决定调度程序在何时让什么进程运行。调度器的策略往往决定系统的整体印象,并且,还要负责优化使用处理器时间。 1.1 I/o消耗型和处理器消耗型。 进程可以被分为I/O消耗型和处理器消耗型。前者指进程的大部分时间用来提交I/O请求或者等待I/O请…

Django,Ajax,Vue实现文章评论功能

Django评论 评论复杂的地方在于需要实现点击提交评论后评论内容需要立刻出现在下面,还要保持页面位置不变,所以提交后不能整体刷新页面,因为刷新以后页面肯定在最上面,而评论一般都在最下面,所以要用到Ajax 整个过程用…

回归分析什么时候取对数_冬蜜什么时候取,冬天取蜂蜜的方法

大家好,我现在分享的是,在冬天是在什么时候取蜜!冬天在我们南方,取蜜时间是十一月到十二月的时候,只要温度达到15度以上,蜂蜜封盖了就可以取蜜了,并且在冬天我们只能取一次,最晚取蜜…

Opencv与dlib联合进行人脸关键点检测与识别

前言 依赖库:opencv 2.4.9 /dlib 19.0/libfacedetection 本篇不记录如何配置,重点在实现上。使用libfacedetection实现人脸区域检测,联合dlib标记人脸特征点,最后使用opencv的FaceRecognizer实现人脸识别。 准备工作 1、配置好Op…

Category 的一些事

来源:伯乐在线 - Tsui YuenHong 链接:http://ios.jobbole.com/90422/ 点击 → 申请加入伯乐在线专栏作者 新增实践部分:偏方 Hook 进某些方法来添加功能 Category – 简介 Category(类别)是 Objective-C 2.0 添加的新特…