好硬件是数据库高效的前提,没有好硬件其他优化都是白费

高性能的CPU

主频高SQL处理的更快

3级cache大CPU计算速率更快

多线程,同时并发处理SQL

关闭NUMA并设置为最大性能模式,充分利用硬件性能

MySQL 5.6.27后,增加innodb_numa_interleave选项(缓冲池)

更好的内存

主频高,内存读写速率更高,更高吞吐,更低时延
内存大,更多数据在内存中,减少直接磁盘读写,提高TPS

用更好的磁盘

通常来说,磁盘I/O是最大的瓶颈
如果是机械盘,一定要配阵列卡,以及阵列卡的CACHE & BBU
并且使用(FORCE)WB策略(RAID卡写策略)
最好是选用SSD或者PCIe SSD,iops可以提升成千上万倍

用更好的网卡/网络

文件传输速率高,异地文件备份更快
主从数据复制数据传输时延更小
适合大数据量的分布式存储环境

老版本内核中,网络请求太高时会引发中断瓶颈,建议升级内核
多个网卡可以进行绑定,提高传输速率并能提高可用性

好的系统设计能有效提升数据库性能

关闭无用服务

减少系统开销
避免潜在安全隐患

尽可能使用本地高速存储

坚决不使用nfs
除非是基于SSD的高速网络分布式存储
用于备份场景除外

让数据库跑在专用的服务器上,不混搭

性能上不相互影响
提高安全性
必须混撘时要做好权限管理以及安全隔离

文件系统选择

优先选用xfs 或 ext4(rhel 7及以上,xfs已是默认fs)
zfs/btrfs比较小众
坚决不用ext3

其他内核选项

vm.swappiness ≤ 10
降低使用swap的概率
内核2.6.32-303及以上版本,慎重设置为0,可能引发OOM

MySQL高效的前提的更多相关文章

  1. mysql高效导入导出load data [infile][outfile]用法

    一.MySQL高效导入数据的方法load data infile load data infile语句从一个文本文件中以很高的速度读入一个表中.使用这个命令之前,mysqld进程(服务)必须已经在运行 ...

  2. MySQL索引类型一览 让MySQL高效运行起来(转)

    转自:http://www.php100.com/html/webkaifa/database/Mysql/2010/0409/4279.html 索引是快速搜索的关键.MySQL索引的建立对于MyS ...

  3. MySQL高效分页解决方案集(转)

    很久以前的一次面试中,被面试官问到这个问题,由于平时用到的分页方法不多,只从索引.分表.使用子查询精准定位偏移以外,没有使用到其它方法. 后来在看其它博客看到了一些不同的方案,也一直没有整理.今天有时 ...

  4. mysql高效分页方案及原理

    很久以前的一次面试中,被面试官问到这个问题,由于平时用到的分页方法不多,只从索引.分表.使用子查询精准定位偏移以外,没有使用到其它方法. 后来在看其它博客看到了一些不同的方案,也一直没有整理.今天有时 ...

  5. mysql高效获取两张表共同字段的交集数据

    例如下面两站表A,B.A表和B表分别有5-10w数据.A表结构如下:id bid name title publisher extraB表结构如下id bid name title publisher ...

  6. MySQL高效分页解决方案集

    一,最常见MYSQL最基本的分页方式: select * from content order by id desc limit 0, 10 在中小数据量的情况下,这样的SQL足够用了,唯一需要注意的 ...

  7. mysql 高效分页控件及c#调用实例

    第一.首先在mysql中创建一个存储过程 BEGIN /* @selectSql VARCHAR(5000), --sql语句 @orderWhere VARCHAR(200), --排序条件 @pa ...

  8. MySQL高效获取记录总数

    通常mysql获取查询记录总数我们使用如下语句: SELECT COUNT(*) FROM users WHERE k='avs';  或:SELECT id FROM goods WHERE k=' ...

  9. Mysql高效插入/更新数据

    从tushare抓取到的财务数据,最开始只是想存下来,用的办法想简单点,是:插入--报错-update 但发现这个方法太蠢,异常会导致大量无效连接,改为: for idx,row in d2.iter ...

随机推荐

  1. day_5.11 py main

    ''' 2018-5-11 18:52:19 模块其实就是Java中的包 模块 就是 xxx.py main.py默认是最主要的模块 ''' class ClasssName(object): pas ...

  2. python数据类型之pandas—DataFrame

    DataFrame定义: DataFrame是pandas的两个主要数据结构之一,另一个是Series —一个表格型的数据结构 —含有一组有序的列 —大致可看成共享同一个index的Series集合 ...

  3. 有关 PHP 的 10 道问题

    1.简述面向对象的三大特性 答:封装 --  继承  --  多态 封装的目的:为了让类更安全 继承的概念:子类可以继承父类的一切 多态的概念:当父类引用指向子类实例,由于子类里面对父类的方法进行了重 ...

  4. 最全面的Android Studio使用教程【申明:来源于网络】

    最全面的Android Studio使用教程[申明:来源于网络] http://www.admin10000.com/document/5496.html

  5. yum install 下载后保存rpm包

    keepcache=0 更改为1下载RPM包 不会自动删除 vi /etc/yum.conf [main] cachedir=/var/cache/yum/$basearch/$releasever ...

  6. POJ 3278 Catch That Cow[BFS+队列+剪枝]

    第一篇博客,格式惨不忍睹.首先感谢一下鼓励我写博客的大佬@Titordong其次就是感谢一群大佬激励我不断前行@Chunibyo@Tiancfq因为室友tanty强烈要求出现,附上他的名字. Catc ...

  7. 从一条巨慢SQL看基于Oracle的SQL优化(重磅彩蛋+PPT)

    本文根据DBAplus社群第110期线上分享整理而成,文末还有好书送哦~ 讲师介绍 丁俊 新炬网络首席性能优化专家 SQL审核产品经理 DBAplus社群联合发起人.<剑破冰山-Oracle开发 ...

  8. Python:正则表达式

    学习内容参考:Python正则表达式指南 匹配流程 语法表

  9. AngularJs $watch监听模型变化

    $watch是一个scope函数,用于监听模型变化,当你的模型部分发生变化时它会通知你. $watch(watchExpression, listener, objectEquality); 举个栗子 ...

  10. virtuanenv+flask

    1.virtualenv&flask 专门为特定项目创建一个目录和一个虚拟的Python 运行环境 # 1.安装 virtualenv$ pip3 install virtualenv #.创 ...