MySQL高效的前提
好硬件是数据库高效的前提,没有好硬件其他优化都是白费
高性能的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高效的前提的更多相关文章
- mysql高效导入导出load data [infile][outfile]用法
一.MySQL高效导入数据的方法load data infile load data infile语句从一个文本文件中以很高的速度读入一个表中.使用这个命令之前,mysqld进程(服务)必须已经在运行 ...
- MySQL索引类型一览 让MySQL高效运行起来(转)
转自:http://www.php100.com/html/webkaifa/database/Mysql/2010/0409/4279.html 索引是快速搜索的关键.MySQL索引的建立对于MyS ...
- MySQL高效分页解决方案集(转)
很久以前的一次面试中,被面试官问到这个问题,由于平时用到的分页方法不多,只从索引.分表.使用子查询精准定位偏移以外,没有使用到其它方法. 后来在看其它博客看到了一些不同的方案,也一直没有整理.今天有时 ...
- mysql高效分页方案及原理
很久以前的一次面试中,被面试官问到这个问题,由于平时用到的分页方法不多,只从索引.分表.使用子查询精准定位偏移以外,没有使用到其它方法. 后来在看其它博客看到了一些不同的方案,也一直没有整理.今天有时 ...
- mysql高效获取两张表共同字段的交集数据
例如下面两站表A,B.A表和B表分别有5-10w数据.A表结构如下:id bid name title publisher extraB表结构如下id bid name title publisher ...
- MySQL高效分页解决方案集
一,最常见MYSQL最基本的分页方式: select * from content order by id desc limit 0, 10 在中小数据量的情况下,这样的SQL足够用了,唯一需要注意的 ...
- mysql 高效分页控件及c#调用实例
第一.首先在mysql中创建一个存储过程 BEGIN /* @selectSql VARCHAR(5000), --sql语句 @orderWhere VARCHAR(200), --排序条件 @pa ...
- MySQL高效获取记录总数
通常mysql获取查询记录总数我们使用如下语句: SELECT COUNT(*) FROM users WHERE k='avs'; 或:SELECT id FROM goods WHERE k=' ...
- Mysql高效插入/更新数据
从tushare抓取到的财务数据,最开始只是想存下来,用的办法想简单点,是:插入--报错-update 但发现这个方法太蠢,异常会导致大量无效连接,改为: for idx,row in d2.iter ...
随机推荐
- 关于pyinstall打包时的依赖问题
前几天写了一个人脸表情分析的小程序,想用pyinstall打包成一个可以移植的小软件.因为之前用过pyinstall,所以这次使用同样的方法对我的程序进行打包: [pyinstaller -F --i ...
- 拓展 NLog 优雅的输送日志到 Logstash
在上上篇博客通过对aspnetcore启动前配置做了一些更改,以及对nlog进行了自定义字段,可以把请求记录输送到mysql,正式情况可能不会这么部署.因为近期也在学习elk,所以就打算做一个实例,结 ...
- 初窥scrapy爬虫
2017-10-30 21:49:55 前言: 初步使用scrapy爬虫框架,爬取各个网站信息 系统环境: 64位win10系统,装有64位python3.6,IDE为pycharm,使用cmd命令 ...
- ros查看摄像头是否打开正常
使用rqt_image_view命令,查看摄像头是否正常输出图像
- linux文件系统扩展属性
翻译自man手册,水平有限,有错还望不吝指出.... 扩展属性是与文件和目录相关的name:value对,用来提供文件系统的一些附加功能,例如ACL.对文件或是目录拥有读权限的用户可以看到其扩展属性. ...
- 使用c#反射实现接口可视化调试页面
直接上代码,引用CommTools.dll.包括aspx显示页面和aspx.cs获取反射数据源代码 using System; using System.Collections.Generic; us ...
- Windbg:通过vmware调试进行内核调试
虚拟机环境搭建 参考:http://www.douban.com/note/416264043/ windbg+vmware+win7 内核 http://blog.csdn.net/G_Spider ...
- airflow
基于airflow官方镜像制作自己的镜像,如给镜像安装pymongo FROM /common/air_grpc: MAINTAINER zhangchunyang@goldwind.com.cn U ...
- Python多线程中阻塞(join)与锁(Lock)的使用误区
参考资料:https://blog.csdn.net/cd_xuyue/article/details/52052893 1使用两个循环分别处理start和join函数.即可实现并发. threads ...
- cocoapod引入FLEX,debug模式正常,Release报错library not found for -lXXX
cocoapod引入FLEX,debug模式正常,Release报错library not found for -lXXX, 因为podfile是这么写的: pod 'FLEX', '~> 2. ...