MYSQL企业常见架构与调优

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 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,如需转载请自行联系原作者


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8天前
|
SQL 负载均衡 关系型数据库
MySQL复制以及调优
本文介绍了MySQL自带复制方案的实现及其注意事项。复制方案能提供数据备份、负载均衡与分布式数据管理的优势。文章详细描述了复制步骤:主库(master)记录更改到二进制日志,发送同步消息给从库(slave),从库接收后将日志复制到本地并执行。实现复制包括配置主库的server-id和二进制日志、创建复制账号、初始化主库数据、设置从库参数及开启复制。此外,还探讨了三种日志格式(row、statement、mixed)的特点及选择建议,并分析了主从复制延迟的优化方法,如控制事务大小、优化日志传输和多线程还原日志等。最后,文中列出了搭建过程中需要注意的关键点。
|
10天前
|
人工智能 运维 监控
领先AI企业经验谈:探究AI分布式推理网络架构实践
当前,AI行业正处于快速发展的关键时期。继DeepSeek大放异彩之后,又一款备受瞩目的AI智能体产品Manus横空出世。Manus具备独立思考、规划和执行复杂任务的能力,其多智能体架构能够自主调用工具。在GAIA基准测试中,Manus的性能超越了OpenAI同层次的大模型,展现出卓越的技术实力。
|
20天前
|
安全 容灾 网络安全
深度用云——释放企业潜能 | 网络先行——阿里云网络卓越架构白皮书正式发布
深度用云——释放企业潜能 | 网络先行——阿里云网络卓越架构白皮书正式发布
|
22天前
|
SQL 存储 缓存
MySQL的架构与SQL语句执行过程
MySQL架构分为Server层和存储引擎层,具有高度灵活性和可扩展性。Server层包括连接器、查询缓存(MySQL 8.0已移除)、分析器、优化器和执行器,负责处理SQL语句;存储引擎层负责数据的存储和读取,常见引擎有InnoDB、MyISAM和Memory。SQL执行过程涉及连接、解析、优化、执行和结果返回等步骤,本文详细讲解了一条SQL语句的完整执行过程。
42 3
|
1月前
|
弹性计算 负载均衡 安全
【上云基础系列-02】企业推荐!必学必会的上云标准架构(弹性架构)
本文介绍上云标准弹性架构,针对企业业务发展需求,推荐使用多服务器的弹性架构而非单体架构。方案包含负载均衡、NAT网关、云服务器ECS、云数据库RDS等组件,确保业务的负载分担、冗余备份及平滑扩展。通过统一公网暴露面管理和VPC网络设计,保障架构的稳定性、安全性和可扩展性。该架构适用于中小企业上云,避免性能瓶颈和迭代升级困难,支持业务持续发展。更多内容可参考下方演进说明总览。
|
1月前
|
存储 SQL 缓存
MySQL原理简介—2.InnoDB架构原理和执行流程
本文介绍了MySQL中更新语句的执行流程及其背后的机制,主要包括: 1. **更新语句的执行流程**:从SQL解析到执行器调用InnoDB存储引擎接口。 2. **Buffer Pool缓冲池**:缓存磁盘数据,减少磁盘I/O。 3. **Undo日志**:记录更新前的数据,支持事务回滚。 4. **Redo日志**:确保事务持久性,防止宕机导致的数据丢失。 5. **Binlog日志**:记录逻辑操作,用于数据恢复和主从复制。 6. **事务提交机制**:包括redo日志和binlog日志的刷盘策略,确保数据一致性。 7. **后台IO线程**:将内存中的脏数据异步刷入磁盘。
|
17天前
|
监控 安全 Cloud Native
企业网络架构安全持续增强框架
企业网络架构安全评估与防护体系构建需采用分层防御、动态适应、主动治理的方法。通过系统化的实施框架,涵盖分层安全架构(核心、基础、边界、终端、治理层)和动态安全能力集成(持续监控、自动化响应、自适应防护)。关键步骤包括系统性风险评估、零信任网络重构、纵深防御技术选型及云原生安全集成。最终形成韧性安全架构,实现从被动防御到主动免疫的转变,确保安全投入与业务创新的平衡。
|
23天前
|
人工智能 Java 数据处理
Java高级应用开发:基于AI的微服务架构优化与性能调优
在现代企业级应用开发中,微服务架构虽带来灵活性和可扩展性,但也增加了系统复杂性和性能瓶颈。本文探讨如何利用AI技术,特别是像DeepSeek这样的智能工具,优化Java微服务架构。AI通过智能分析系统运行数据,自动识别并解决性能瓶颈,优化服务拆分、通信方式及资源管理,实现高效性能调优,助力开发者设计更合理的微服务架构,迎接未来智能化开发的新时代。
|
3月前
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
|
4月前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
98 3
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等