1、swappiness

禁止系统使用swap空间,配置/etc/sysctl.conf中的vm.swappiness=0

2、Scheduler调度

Scheduler调度,指的是磁盘的IO调度算法,下面聊一聊linux的几种IO调度算法

查看当前系统磁盘的sda的IO调度算法。

cat /sys/block/sda/queue/scheduler

其中:

  • noop(No Operation,电梯式调度算法):通过一个简单的FIFO(先进先出)队列将请求按先来先处理的顺序处理,但对于相邻的IO请求,noop算法会进行合并再处理。在机械硬盘读取需求需要磁头在磁道上不断地来回摆动来完成读取,而noop算法则是写优先的调度算法,所以读的性能表现不佳。但SSD磁盘不同于传统的机械硬盘,靠磁头在高速旋转的磁盘上运动来读取数据,ssd通过LBA(Logical Block Address,逻辑地址块)来访问数据,性能远远高于机械硬盘
  • cfq(Completely Fair Queuing,完全公平队列):在linux kernel 2.6.18内核之后的2.6系列内核中,cfq是默认的IO调度算法,它为每一个进程创建一个队列来处理这个进程所有的IO请求,然后再分配CPU时间来处理这些队列,这种做法可以确保每个进程都能很好地获得IO带宽。CPU处理时间片和IO请求队列的数量都是可以通过IO优先级来控制的。
  • deadline:最后期限调度算法。在RedHat 7系统开始,Deadline调度算法成为默认的磁盘调度算法,它为了保证每个IO请求都能在deadline(最后期限)之前得到处理以避免出现IO饿死的情况。deadline调度算法为读和写分别创建了一个deadline队列,默认情况下读操作的deadline时间是500ms,写操作的deadline时间是5s,并且读队列被赋予较高的优先级,因为进程通常会阻止读操作。在每个IO请求完成之后,下一次IO操作之前,deadline算法会判断两个deadline队列中是否有即将到期的请求,这些请求会被优先处理,确保该IO请求不被饿死
  • anticipatory:预测IO调度算法。在Linux Kernel2.6.0至2.6.18版本中,anticipatory是默认的磁盘调度算法,但在linux kerne 2.6.33之后不再用这种调度算法。他的原理是在每次完成IO请求,开始新的IO操作之前设置了6ms等待,如果在6ms之内收到读IO的请求,anticipatory调度算法就可以立即满足这个要求

针对DB服务器,应如何调整磁盘调度算法呢?

1)DB服务器上配置了SSD硬盘,那么这种场景下,NOOP算法是最优的,因为它读写数据不涉及磁盘转动,磁头定位。配置方法如下:

echo "Noop" >/sys/block/sda/queue/scheduler

2)DB服务器上配置的就是普通的SAS盘,这种场景下,Deadline是最优的,这也是Mysql标准调优中常用的调优参数。配置方法如下。

echo "deadline" >/sys/block/sda/queue/scheduler

DB服务器中的参数优化的更多相关文章

  1. Skype 服务器客户端策略参数优化

    1.skype通讯录原理 对于skype客户端的通讯录同步,首先说说原理,通讯簿信息是从AD同步的skype前端服务器(每天1:30),在从前端服务器同步的客户端(大概1小时内同步一次). skype ...

  2. db服务器参数优化

    1.swap分区 swap作用是在系统内存不够的情况下,当做临时的内存使用. swap是在硬盘上,性能肯定没有再内存好,当系统内存使用超过40%的时候, swap会可能被使用,而系统一旦使用swap会 ...

  3. Linux中MySQL配置文件my.cnf参数优化

    MySQL参数优化这东西不好好研究还是比较难懂的,其实不光是MySQL,大部分程序的参数优化,是很复杂的.MySQL的参数优化也不例外,对于不同的需求,还有硬件的配置,优化不可能又最优选择,只能慢慢的 ...

  4. Linux(Centos )的网络内核参数优化来提高服务器并发处理能力【转】

    简介 提高服务器性能有很多方法,比如划分图片服务器,主从数据库服务器,和网站服务器在服务器.但是硬件资源额定有限的情况下,最大的压榨服务器的性能,提高服务器的并发处理能力,是很多运维技术人员思考的问题 ...

  5. 梯度优化算法总结以及solver及train.prototxt中相关参数解释

    参考链接:http://sebastianruder.com/optimizing-gradient-descent/ 如果熟悉英文的话,强烈推荐阅读原文,毕竟翻译过程中因为个人理解有限,可能会有谬误 ...

  6. OpenCV中的SVM参数优化

    OpenCV中的SVM参数优化 svm参数优化opencv SVMSVR参数优化CvSVMopencv CvSVM        SVM(支持向量机)是机器学习算法里用得最多的一种算法.SVM最常用的 ...

  7. 手机在线更新系统MySQL数据库服务器参数优化mycnf,16G内存8核CPU,

    业务场景: 后台支持手机在线更新系统,db服务器内存16G,8核,dell的pc服务器. qps: 200个左右 tps: 1个左右 一分钟50几个 sort_buffer_size = 32M 大了 ...

  8. MySQL数据库服务器参数优化mycnf,16G内存8核CPU,

    业务场景: 后台支持手机在线更新系统,db服务器内存16G,8核,dell的pc服务器. qps: 200个左右 tps: 1个左右 一分钟50几个 sort_buffer_size = 32M 大了 ...

  9. [转载]linux下编译php中configure参数具体含义

    编译N次了   原来这么回事 原文地址:linux下编译php中configure参数具体含义作者:捷心特 php编译参数的含义 ./configure –prefix=/usr/local/php ...

随机推荐

  1. android AccessibltyService 辅助服务

    1.使用Accessibility可以模拟手机点击,获取屏幕文字,通知消息等. 2.使用该类需新建一个AccessibilityService的子类,并在AndroidManifest.xml文件中注 ...

  2. swift 学习(一)基础知识 (基本数据类型,操作符,流控制,集合)

    xcode 中调用API帮助 1.查看简单信息,选中后 按键 control +左键单击  或者按 右侧属性栏 里的帮助按钮 2.完整API,选中后 按键 control +左键双击 3.查看类.函数 ...

  3. JS搞基指南----延迟对象入门提高资料整理

    JavaScript的Deferred是比较高大上的东西,  主要的应用还是主ajax的应用,  因为JS和nodeJS这几年的普及,  前端的代码越来越多,  各种回调套回调再套回调实在太让人崩溃, ...

  4. Leetcode Find Minimum in Rotated Sorted Array I and II

    Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 migh ...

  5. [NOIP2015] 普及组

    金币 模拟 #include<iostream> #include<cstdio> using namespace std; int main(){ int k,n; scan ...

  6. POJ2001 Shortest Prefixes

    Description A prefix of a string is a substring starting at the beginning of the given string. The p ...

  7. shell实现的守护进程

    代码本来是别人那里拿来的,自己又改了下,给busybox用. #! /bin/sh PRO_PATH=/opt/myapp PROGRAM=packet_analyzer while true ; d ...

  8. ansible模块debug

    示例: # Example that prints the loopback address and gateway for each host - debug: msg="System { ...

  9. [JavaEE]理解ThreadLocal

    转http://www.iteye.com/topic/103804 首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中 ...

  10. 软件产品案例分析——K米

    第一部分 调研.评价 调研 测试机型:iPhone 6s K米版本:4.3.0 直观感受 界面干净,功能丰富,操作不复杂,易上手 错误类 无法分享KTV主页 步骤:进入KTV主页,点击右上角分享图标 ...