当前位置:首页 > 日记 > 正文

21MySQL优化建议(经验总结)

21MySQL优化建议(经验总结)
今天,一位朋友问我如何优化mysql,我理清思路,大致分为21个方向。还有一些细节,如表缓存、表设计、索引设计、程序侧缓存等。

1。为了确保有足够的内存

数据库可以高效运行,最重要的构建因素需要更多的内存,可以缓存数据,可以在内存中更新,但不同的企业需要不同的内存强度。推荐的内存占15-25%的数据。特别是热数据,内存需要达到数据库的80%。

2。需要更多更快的CPU

MySQL 5.6可以利用64个核心,而MySQL每个查询只能在一个CPU上运行,因此需要更多的CPU,而更快的CPU将是更多的并发。

三.选择合适的操作系统

在官方的推荐,估计是最值得推荐的Solaris是CentOS。雷尔是从实际生产的一个很好的选择。建议使用CentOS和雷尔版本6。当然,Oracle Linux也是一个不错的选择,虽然Windows在MySQL 5.5之后进行了优化,但不建议使用Windows。在高并发环境中

4。合理优化系统参数

改变文件处理改 u2013 N默认1024太小

进程数限制ulimit -u不同版本是不同的

NUMA numctl交错=所有

5。选择适当的内存分配算法

默认的内存分配是C的malloc现在也有很多优化的内存分配算法:

jemalloc和tcmalloc

支持MySQL 5.5之后的声明中的存储方法。

复制代码代码如下所示:

{ mysqld_safe }

tcmalloc malloc库=
或直接到SO文件

复制代码代码如下所示:

{ mysqld_safe }

malloc库= / usr / / / libtcmalloc_minimal.so本地库
6。使用更快的存储设备SSD或固态卡

存储介质大大影响MySQL的随机读写速度的更新,新一代的存储设备的出现,固态SSD固态卡,也使MySQL的辉煌,和淘宝已经在IOE取得了一场漂亮仗。

7。选择一个好的文件系统

推荐XFS,ext4,如果你还在使用ext2,ext3的学生请尽快提高水平possible.xfs推荐,这是Linux支持的文件系统相同的时间。

文件系统是强烈推荐:XFS

8。优化挂载文件系统的参数

安装XFS参数:

复制代码代码如下:(RW,noatime,nodiratime,nobarrier)

安装ext4的参数:

复制代码代码如下:ext4(RW,noatime,nodiratime,nobarrier,数据=命令)

如果需要使用SSD或固态磁盘:

innodb_page_size = 4k

innodb_flush_neighbors = 0

9。选择适当的IO调度

请使用期限默认为空

复制代码代码如下:回波期> / / / {系统块dev-name } / /调度队列

10。选择适当的RAID卡缓存策略

请用过RAID和启用写回,这是加速的重做日志,二进制日志好,和数据文件。

11。禁用查询缓存

查询缓存在InnoDB小鸡。InnoDB本身的数据可以缓存在InnoDB缓冲池。查询缓存属于结果集缓存。如果我们打开查询缓存,更新写,我们需要检查缓存,但增加了写作成本。

在MySQL 5.6中,查询缓存被禁止。

12。使用线程池

现在,数据对应了5多个应用程序场景,但MySQL具有一个特性。随着连接的增加,性能下降。因此,对于超过200的未来场景的连接,请考虑线程池的使用,这是一项伟大的发明。

13。合理的记忆调节

13.1减少连接的内存分配

你可以使用thread_cache_size连接缓存,查看多线程池是可怕的,分配的内存数据库的如下:

复制代码代码如下所示:

max_used_connections *(

read_buffer_size +

read_rnd_buffer_size +

join_buffer_size +

sort_buffer_size +

binlog_cache_size +

thread_stack +

2×net_buffer_length…


13.2建立更大的缓冲池

将60-80%的记忆innodb_buffer_pool_size。,不超过数据的大小,和不分配超过80%或用它来交换。
14。日志刷新机制的合理选择

重做日志:

复制代码代码如下所示:

- innodb_flush_log_at_trx_commit = 1 / /最安全

- innodb_flush_log_at_trx_commit = 2 / /性能好

- innodb_flush_log_at_trx_commit = 0 / /最好的爱
Binlog:

binlog_sync = 1需要集团提交的支持,如果你没有这个功能,你可以考虑更好的性能binlog_sync = 0。

数据文件:

复制代码如下:innodb_flush_method = o_direct

15。请使用InnoDB表

在线修改操作可以用更多的资源改善。非中文全文也支持,和Memcache API访问的支持。目前,它也是MySQL最好的发动机。

如果你还在MyISAM,请考虑快速转换。

16。设置一个更大的重做日志

当Percona 5.5和官方MySQL 5.5的性能相匹配,提示这是赢得4G以上的重做日志,和官方MySQL5.5重做日志不能超过4G的。在MySQL 5.6之后,它可能超过日志。通过查看重做日志生成的数量,您可以分配重做日志超过一个小时。

17。优化磁盘的IO

innodb_io_capactiy配置800 SAS 15000转下,并配置2000多下SSD。

在MySQL 5.6中:

复制代码代码如下所示:

innodb_lru_scan_depth = innodb_io_capacity / innodb_buffer_pool_instances

innodb_io_capacity_max = min(2000, 2×innodb_io_capacity)
18。使用独立的表空间

目前,这些新功能都是独立的表空间支持:

截断表空间回收

表空间传输

优化管理绩效,如碎片等,

总的来说,使用独立的表空间是没有用的。

19。配置合理的并发

innodb_thread_concurrency =并发此参数也在InnoDB中最常见的参数,不同的版本可能会在不同的版本有所不同。一般建议:

在使用线程池的情况下:

innodb_thread_concurrency = 0是好的。

如果没有线程池,

5.5建议:innodb_thread_concurrency = 16 - 32

5.6推荐innodb_thread_concurrency = 36

20。优化事务隔离级别

默认是可重复读取。

建议使用READ COMMITTED binlog格式使用混合或行

较低的隔离级别=更好的性能

21。重点监控

没有任何环境监测,如果监测不太可能,盲人摸象。Zabbix + MPM建议建立监测。

相关文章

如何在系统中没有安装powerpoint20

如何在系统中没有安装powerpoint20

文件,系统,没有安装,如何在,电脑软件,用户经常遇到这种情况,好的PPT模板已经到达演示的地方,突然发现用户的Office版本比较低,或者根本没有安装PowerPoint,如何避免这种尴尬局面呢 方法一:文件打包成CD。 选择文件菜单;;mdash;保存并发送mdash;包表…

MySQL下常用索引与惟一索引的效率

MySQL下常用索引与惟一索引的效率

索引,惟一,效率,常用,电脑软件,我今天测试中虚拟机环境的布局,如下所示: 这些都是第一次执行。经过几次画法,平均值被取下。效率几乎是一样的。如果一个索引和一个公共索引同时在一个列上构建,MySQL将自动选择一个惟一索引。 谷歌曾经: 结构使…

Word中的数字序列成为一个奇怪的符

Word中的数字序列成为一个奇怪的符

解决方案,数字,成为一个,序列,符号,问题: 一个Word文档从一个电子邮件中下载,当它打开时,发现文档中的数字成为剪刀、信封和鼠标的奇怪符号。认为Word文档有问题,把它转发给同事的计算机,然后它可以正常显示。我不知道我的电脑怎么了 答案uff1a…

Excel表用可视化管理器保存多个打

Excel表用可视化管理器保存多个打

可视化管理器,多个,电脑软件,Excel,Excel表格使用可视化管理器保存多个打印页面。有些工作表经常需要打印不同的区域,使用可视化管理器栏。 1,打开需要打印的工作表,在打印行或列上拖动鼠标,不打印,选择鼠标右键单击鼠标。在随后的快捷菜单中,选…

用毛笔制作美丽而漂亮的彩色艺术字

用毛笔制作美丽而漂亮的彩色艺术字

彩色,漂亮,美丽,艺术字,电脑软件,本教程的文字效果非常漂亮,看似有点重复,事实上,生产过程是相对简单的。第一层所需的纹理背景,然后自定义一个立体泡沫刷,并设置画笔参数。描边路径和文字可以文本颜色。后来,添加一些飞溅和其他画笔丰富的层次感…

哪里是Win8的计算器吗想要使用十进

哪里是Win8的计算器吗想要使用十进

计算器,转换函数,十进制,十六个,电脑软件,点评:最近我想用十进制的函数和十六进制的计算器转换。我发现win8没有开始菜单。搜索后,发现Win+R打开运行,输入计算肯定会出来。如果你还没有找到,你不妨参考一下。 最近,我想用十进制的函数和十六进制…

weathereye是weathereye.exe-过程

weathereye是weathereye.exe-过程

过程,电脑软件,weathereye,exe,综述:简要介绍了weathereye.exe - weathereye过程 进程文件:weathereye或weathereye.exe 进程名称:天气网络报警器 过程类别:安全风险的过程 英文描述: weathereye.exe是一个过程,属于气象网络、天气警报,天气,它也…

脸谱网抢谷歌饭碗谷歌不再是首选搜

脸谱网抢谷歌饭碗谷歌不再是首选搜

饭碗,首选,搜索引擎,电脑软件,网抢谷歌,据国外媒体报道,1月1日,谷歌曾是互联网搜索新内容的首选工具。但是现在很多用户都在使用脸谱网和Twitter作为内容搜索工具,用户的数量很少。 社会网络的运作模式已经威胁到谷歌在内容搜索领域的地位。用…

2010qq情侣签名

2010qq情侣签名

情侣,电脑软件,qq,我的青春还没有结束。 有些回忆应该在最美的时候停下来,并在一生中坚持下去。 我宁愿用这种生活让你发现我一直在你身边,从不走远。 当我们看不见的时候,我们都有自己的行为。 更多的' ';之间的关系;它越是不容易相处。 …

avgctrl.exe的过程是什么什么是avg

avgctrl.exe的过程是什么什么是avg

过程,工艺,电脑软件,avgctrl,exe,点评:在avgctrl.exe - avgctrl过程详细查询 进程文件:avgctrl或avgctrl.exe 进程名称:AVG控制中心 过程类别:安全风险的过程 英文描述: 是的avgctrl.exe Grisoft网络安全套件的一部分,是安全的和你的计算机的安…

Excel创建文本直方图

Excel创建文本直方图

直方图,文本,电脑软件,Excel,除了重复输入,REPT另一个衍生的功能是创建一个包含纯文本直接在工作表中的直方图。它的原理很简单,就是利用特殊符号的智能重复,按照指定单元格计算结果表现出长短不一的影响。 例如,我们首先制定年度资产负债表,然…

Word2003拷贝到其他文档或模板中的

Word2003拷贝到其他文档或模板中的

模板,文档,拷贝到,电脑软件,在向模板中添加宏时,安全性应该更加小心。宏的设计方法可能会造成安全隐患。我们建议您只使用源代码中可靠的宏。 1、点击工具菜单中的模板和加载项命令。 2、点击管理员点击宏计划选项卡。 3、如果你想将项目…