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

高性能的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. Windows Server 2008 R2 64位操作系统安装Oracle 11g 64位数据库,在客户终端上安装Oracle 11g 32位,才能安装P/L Sql Developer并配置

    1.下载Oracle 11g R2 for Windows的版本 下载地址: http://www.oracle.com/technetwork/database/enterprise-edition ...

  2. java封装实现Excel建表读写操作

    对 Excel 进行读写操作是生产环境下常见的业务,网上搜索的实现方式都是基于POI和JXL第三方框架,但都不是很全面.小编由于这两天刚好需要用到,于是就参考手写了一个封装操作工具,基本涵盖了Exce ...

  3. 使用ASP.NET Core的User Secrets特性

    昨天在一个集成测试项目中实际使用 ASP.NET Core 的 user secrets 保存敏感配置信息,避免了直接保存在 appsettings.json 中,在这篇随笔中记录一下. 使用 use ...

  4. [转载]Invalid bound statement (not found): com.taotao.mapper.TbItemMapper.selectByExample: 错误

    因碰到同样的问题,使用该方法对我有效,为方便以后查找,所以做了转载,原文请查看:https://www.cnblogs.com/fifiyong/p/5795365.html 在Maven工程下,想通 ...

  5. 自动化运维工具-pssh工具安装配置及简单使用讲解

    1.先决条件:安装pssh工具要求python版本大于2.4即可. 安装pssh工具的主机针对远程主机需要配置免秘钥认证: ssh-keygen -t rsa ssh-copy-id [remoteh ...

  6. zookerper安装部署

    ********************单节点安装zk*************************上传zk安装包到服务器/mnt目录下: [root@chavin ~]$ ll /mnt/zoo ...

  7. 安装ReactNative开发IDE

    https://blog.csdn.net/u014484863/article/details/51554428 https://github.com/reactnativecn/react-nat ...

  8. git commit -m 与 git commit -am的区别

    字面解释的话,git commit -m用于提交暂存区的文件:git commit -am用于提交跟踪过的文件 要理解它们的区别,首先要明白git的文件状态变化周期,如下图所示 工作目录下面的所有文件 ...

  9. English class 82 The Importance of traveling

    1,since I could basically walk : pretty much 2,Malaysian girl 3,profound love: deep very inportant 4 ...

  10. 原来的ALL IN ONE架构,快速的演进成为SOA架构

    原来的ALL IN ONE架构,快速的演进成为SOA架构 京东服务市场高并发下SOA服务化演进架构 原创: 张俊卿 京东技术 今天