MYSQL企业常见架构与调优

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

 一、选PerconSMaraMYSQL

 

 

1Mysq 三种存储引擎

 

MySQL储引MyISAMInnoDBMySQL4使MyISAM存储引擎。从MYSQL5.5开始MySQL将默MyISAM更改为InnoDBMyISAM没有提供事支持InnoDB 支持。

 

 

XtraDBInnoD 擎的本,更好使计算系统的性能,同时还包含在高的新性。

2Percona    Server分支

PerconaServerMySQL公司Percona

PerconaServer款独全与MySQ 兼容,更改代码的情况了下将存更换成XtraDB接近MySQEnterprise  行版

Percona   提供了高性能XtraDB   引擎,还提供PXC   高可用解决,并且附带

percona-toolkitDBA具箱,

 

3MariaDB

MariaDBMySQLMariaDB的目MySQL包括API和命令行,使之能轻松成为MySQL 替品。

MariaDB供了MySQL提供引擎MyISAMInnoDB10.0.9起使用

XtraDB(名称代号为Aria来代替MySQLInnoDB

 

4、如何选择

 

综合使用经能对Percon MariaDB,如想冒一

点风险,那就选择MYSQL.



、    常用MYSQL调优策略

 

1、硬件层相关优化

 

 

修改服务器BIOS设置

l  选择PerformancePerWattOptimized(DAPC)发挥CPU最大能。

l  MemoryFrequency选择MaximumPerformance性能)

l  内存设置菜单中,NodeInterleaving避免NUM 问题

 

 

2、磁/相关

 

 

 l 使用SSD硬盘

l     如果是磁盘阵列存议阵CACHEBBU显提升IOPS

l     raid级别尽量raid10,而不是raid5.

 

3、文件系统层优化

 

 

l 使用deadline/noopI/O别用cfq

l 使用xfsext3ext4业务要用xfs

l  文件mount增加noatime,nodiratime,nobarrier选项nobarrierxfs

文件系统特有的



注:修改io调度算法

[root@IO-0-1 ~]# cat /sys/block/sda/queue/scheduler

noop anticipatory deadline [cfq] ----括号中为当前使用的算法

修改IO调度算法 

[root@IO-0-1 ~]# echo deadline > /sys/block/sda/queue/scheduler

[root@IO-0-1 ~]# cat /sys/block/sda/queue/scheduler

noop anticipatory [deadline] cfq  可以看到IO调度算法已经修改为deadline


mount参数添加noatime,nodiratime,nobarrier


# vi /etc/fstab

 /dev/sda1        /             xfs     defaults,noatime,nodiratime,nobarrier 0 0

devpts           /dev/pts      devpts   gid=5,mode=620             0 0

proc             /proc         proc     defaults                   0 0

/dev/sda2        swap          swap     defaults,noatime           0 0

修改设置后只需要重新挂载文件系统、不需要重启就可以应用新设置:

 

# mount -o remount /

 

或者直接挂载: mount -o noatime,nodiratime,nobarrier /dev/sdb1 /data



Centos 6安装xfs的方法:


安装xfs相关包,挂载xfs内核

 # yum install xfsprogs kmod-xfs xfsdump xfsprogs-devel

 # modprobe xfs

 # lsmod |grep xfs

xfs                  1124960  1 
exportfs         4236  1 xfs




 

 

4、内核参数优化

 

 

l  修改vm.swappiness降低swap使率。RHEL7/centos7上则置为0,可能发生OOM

l  调整vm.dirty_background_ratiovm.dirty_rati 参数持续据刷新到磁盘,避免瞬间I/O。产

l  调整net.ipv4.tcp_tw_recyclenet.ipv4.tcp_tw_reuse  设置为1减少TIME_WAIT,提

TCP效率。



修改swap使用概率??

表示使用swap的概率,此值越大,表示使用swap的概率越大。推荐配置如下:

查看目前配置:cat /proc/sys/vm/swappiness

添加如下内容到/etc/sysctl.conf

vm.swappiness=10

表示当内存使用率超过(100-10)90%时,才开始使用swap。

使配置文件生效

sysctl -p


net.ipv4.tcp_tw_recycle=1

net.ipv4.tcp_tw_reuse=1

也是在/etc/sysctl.conf文件中添加,并使之生效。




 

 

5Mysq 参数优化建议

 

 

l 建议设置default-storage-engine=InnoDB,强再使用MyISA 擎。

l  调整innodb_buffer_pool_size是单多数是InnoDB的话,可考虑设置为物理存的50%-70%左右。


l 设置innodb_file_per_table=1,使用独立表空间。

l  调整innodb_data_file_path = ibdata1:1G:autoextend10M,在高发场景下,性能会有很大升。

l  设置innodb_log_file_size=256M,设置innodb_log_files_in_group=2基本足大多

数应用场景。

l  调整  max_connection最大max_connection_error(最根据业务量大小进行设

l  另外,open_files_limitinnodb_open_filestable_open_cache   table_definition_cache

可以设置大约为max_connection10小。

l  key_buffer_size议调32M左右可,querycache

l  mp_table_size  max_heap_table_size   设置不要过大,另外sort_buffer_size

join_buffer_sizeread_buffer_sizeread_rnd_buffer_size    置也大。

 



、    MYSQ 常见的应用分享

 

 

1、主从复制解决

 

 

这是MySQL供的可用步方的是MySQLreplication技术MySQLreplication从服务器日志将日文件解析相应的SQL服务新执务器过这保证据的一致性。为了高的用性在实境中MySQLreplication技术配合高可用集群软件keepalived现自动failover式可实现95.000%SLA

 


wKioL1dOpHSz8iWhAACoUVuTptw817.png-wh_50


 


 

 

2MMM/MHA  高可用解决方案

 

 

MMM提供了MySQL主主置的和管伸缩套件。MMM高可用型的双主通过MySQLreplicatio 术可实现两个互为且在候只可以点写突。同主节MMM    可以,然服务换到一个主节点,继续提供从而MySQ 用。

 

 wKiom1dOo4GiCDLyAABsIOIcB-o558.png-wh_50





3e高可用解决方案

 

 



在这failover方式Heartbeat监控各个节点间群服故障可用其他点启动集服务据共,通SANStorageAreaNetwork)存储来种方案可以实现99.990%SLA

 

 wKiom1dOo5HB4WrpAABpGhGp-vQ787.png-wh_50

 


 

 

 

 

4e高可用解决方案

 

 此方处理failove 依旧Heartbeat的是在数方面采用了基于块级别的数据DRBD现。DRB软件的、镜像的存解决方案。和SA 网络它并,而服务络复

 

wKioL1dOpK2THltbAABz9z_Nto8683.png-wh_50

 

 

 


 

 


 

四、MYSQ 经典应


wKioL1dOpNCRBa9_AAMaC0UEyy8811.png-wh_50

 

 

其中:

 

 Dbm157mysqldbm158mysql的备dbs159/160/161mysql从。MySQL操作heartbeat+DRBD+MySQ 建高群的方案heartbeat实现对mysql监测DRBDdbm157数据步到dbm158读操采用基于LVS+Keepalived搭建高扩案。前端A用通提高的读VIP连接LVSLVSkeepliaved成高式,备。mysql从节dbs159/160/161通过mysql功能同mysql数据,通过lvs给前端AS操作载均

 

 

 本文转自pizibaidu 51CTO博客,原文链接:http://blog.51cto.com/pizibaidu/1785226,如需转载请自行联系原作者


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
运维 Cloud Native Devops
云原生架构:企业数字化转型的加速器
【8月更文挑战第11天】在数字化浪潮中,企业正经历前所未有的转型压力。云原生架构作为一种新型的IT架构模式,以其灵活性、可扩展性和高效性成为企业应对这一挑战的关键工具。本文将深入探讨云原生架构的核心概念、优势以及它如何助力企业实现敏捷开发、自动化运维和微服务治理,最终加速企业的数字化转型之旅。
41 3
|
16天前
|
存储 缓存 前端开发
Django 后端架构开发:存储层调优策略解析
Django 后端架构开发:存储层调优策略解析
35 2
|
26天前
|
人工智能 运维 虚拟化
完善多云平台软件体系,VMware再探索下一代企业IT架构
完善多云平台软件体系,VMware再探索下一代企业IT架构
|
13天前
|
安全 网络安全 网络虚拟化
优化大型企业网络架构:从核心到边缘的全面升级
大型企业在业务运作中涉及多种数据传输,涵盖办公应用、CRM/ERP系统、数据中心、云环境、物联网及安全合规等多个方面。其复杂的业务生态和全球布局要求网络架构具备高效、安全和可靠的特性。网络设计需全面考虑核心层、汇聚层和接入层的功能与冗余,同时实现内外部的有效连接,包括广域网连接、远程访问策略、云计算集成及多层次安全防护,以构建高效且可扩展的网络生态系统。
优化大型企业网络架构:从核心到边缘的全面升级
|
6天前
|
存储 弹性计算 SDN
企业级 ECS 集群的构建需要综合考虑多个因素,通过不断的比较和对比不同的方案,选择最适合企业自身需求和发展的架构。
【9月更文挑战第5天】在数字化商业环境中,构建企业级ECS(弹性计算服务)集群对提升业务稳定性、扩展性和性能至关重要。本文将比较传统物理服务器与ECS架构,分析云服务商选择(如AWS和阿里云)、实例配置(CPU/内存)、网络架构(SDN vs 传统)及存储方案(本地存储 vs 云存储),帮助企业根据自身需求选出最优方案,实现高效稳定的ECS集群部署。
36 18
|
1月前
|
关系型数据库 MySQL Java
面试官:说说MySQL调优?
面试官:说说MySQL调优?
56 5
面试官:说说MySQL调优?
|
15天前
|
运维 Cloud Native Devops
构建未来:云原生架构在企业数字化转型中的关键作用
【7月更文挑战第58天】 随着企业加速其数字化转型步伐,云原生架构已成为推动创新与实现敏捷性的核心技术。本文将深入探讨云原生技术如何助力企业构建灵活、可扩展的系统架构,以及这些架构在应对市场快速变化和业务需求时的显著优势。我们将剖析容器化、微服务、持续集成/持续部署(CI/CD)等关键技术原理,并举例说明如何通过实践云原生原则,优化资源利用、提高运维效率,并最终实现业务价值最大化。
|
16天前
|
消息中间件 存储 监控
Django后端架构开发:Celery异步调优,任务队列和调度
Django后端架构开发:Celery异步调优,任务队列和调度
31 1
|
19天前
|
Kubernetes Cloud Native 持续交付
构建未来:云原生架构在企业数字化转型中的关键作用
【7月更文挑战第54天】 随着企业加速其数字化转型的步伐,云原生架构已经成为支持业务敏捷性、可扩展性和创新的重要基石。本文探讨了云原生技术如何通过提供灵活的资源管理、快速部署能力和微服务架构,帮助企业实现技术升级和业务增长。分析了云原生的核心组件,包括容器化、服务网格、持续集成/持续部署(CI/CD)和微服务治理,以及它们如何共同促进企业应用的可靠性和高效性。最后,提出了企业在采用云原生技术时面临的挑战和克服策略。
|
22天前
|
SQL 关系型数据库 MySQL
Mysql原理与调优-事务与MVCC
【8月更文挑战第19天】

热门文章

最新文章

下一篇
DDNS