第一段:选择Percona Server、MariaDB还是MYSQL
mysql应用源码:http://www.jinhusns.com/Products/Download/?type=xcj
①.、Mysql三种存储引擎
MyISAM没有提供事务支持,而InnoDB提供了事务支持.
XtraDB是InnoDB存储引擎的增强版本,被设计用来更好的使用更新计算机硬件系统的性能,同时还包含有一些在高性能环境下的新特性.
Percona Server由领先的MySQL咨询公司Percona发布.
Percona Server是一款独立的数据库产品,其可以完全与MySQL兼容,可以在不更改代码的情况了下将存储引擎更换成XtraDB.是最接近官方MySQL Enterprise发行版的版本.
Percona提供了高性能XtraDB引擎,还提供PXC高可用解决方案,并且附带了percona-toolkit等DBA管理工具箱,
MariaDB由MySQL的创始人开发,MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品.
综合多年使用经验和性能对比,首选Percona分支,其次是MariaDB,如果你不想冒一点风险,那就选择MYSQL官方版本.
第二段:常用的MYSQL调优策略
①.、硬件层相关优化
修改服务器BIOS设置
选择Performance Per Watt Optimized(DAPC)模式,发挥CPU最大性能.
Memory Frequency(内存频率)选择Maximum Performance(最佳性能)
内存设置菜单中,启用Node Interleaving,避免NUMA问题
使用SSD硬盘
如果是磁盘阵列存储,建议阵列卡同时配备CACHE及BBU模块,可明显提升IOPS.
使用deadline/noop这两种I/O调度器,千万别用cfq
文件系统mount参数中增加:noatime, nodiratime, nobarrier几个选项(nobarrier是xfs文件系统特有的);
调整vm.dirty_background_ratio、vm.dirty_ratio内核参数,以确保能持续将脏数据刷新到磁盘,避免瞬间I/O写.产生等待.
建议设置default-storage-engine=InnoDB,强烈建议不要再使用MyISAM引擎.
设置innodb_file_per_table = 1,使用独立表空间.
调整innodb_data_file_path = ibdata1:1G:autoextend,不要用默认的10M,在高并发场景下,性能会有很大提升.
调整max_connection(最大连接数)、max_connection_error(最大错误数)设置,根据业务量大小进行设置.
另外,open_files_limit、innodb_open_files、table_open_cache、table_definition_cache可以设置大约为max_connection的10倍左右大小.
mp_table_size和max_heap_table_size设置不要过大,另外sort_buffer_size、join_buffer_size、read_buffer_size、read_rnd_buffer_size等设置也不要过大.
①.、主从复制解决方案
这是MySQL自身提供的一种高可用解决方案,数据同步方法采用的是MySQL replication技术.MySQL replication就是从服务器到主服务器拉取二进制日志文件,然后再将日志文件解析成相应的SQL在从服务器上重新执行一遍主服务器的操作,通过这种方式保证数据的一致性.
MMM提供了MySQL主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件.在MMM高可用方案中,典型的应用是双主多从架构,通过MySQL replication技术可以实现两个服务器互为主从,且在任何时候只有一个节点可以被写入,避免了多点写入的数据冲突.同时,当可写的主节点故障时,MMM套件可以立刻监控到,然后将服务自动切换到另一个主节点,继续提供服务,从而实现MySQL的高可用.
此方案处理failover的方式上依旧采用Heartbeat,不同的是,在数据共享方面,采用了基于块级别的数据同步软件DRBD来实现.
DRBD是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案.和SAN网络不同,它并不共享存储,而是通过服务器之间的网络复制数据.
其中:
读操作普遍采用基于LVS◆Keepalived搭建高可用高扩展集群的方案.前端AS应用通过提高的读VIP连接LVS,LVS有keepliaved做成高可用模式,实现互备.
以上就是土嘎嘎小编为大家整理的MYSQL企业常用架构与调优经验分享相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!