①.、确定高负载的类型?htop,dstat命令看负载高是CPU还是IO
看具体是哪个用户哪个进程占用了相关系统资源,当前CPU、内存谁在使用
分析mysql慢日志,查看哪些sql语句最耗时
检查mysql配置参数是否有问题,引起大量的IO或者高CPU操作
innodb_flush_log_at_trx_commit?、innodb_buffer_pool_size?、key_buffer_size?等重要参数
mysql负责高可用,可以参考如下几种方案:
①基于共享存储的方案SAN
方
案介绍:SAN(Storage Area
Network)简单点说就是可以实现网络中不同服务器的数据共享,共享存储能够为数据库服务器和存储解耦.使用共享存储时,服务器能够正常挂载文件系统
并操作,如果服务器挂了,备用服务器可以挂载相同的文件系统,执行需要的恢复操作,然后启动MySQL.共享存储的架构如下:
优点:
①可以避免存储外的其它组件引起的数据丢失.
限制或缺点:
①共享存储是单点,若共享存储挂了,则会丢失数据.
案介绍:DRBD(Distributed Replicated Block
Device)是一种磁盘复制技术,可以获得和SAN类似的效果.DBRD是一个以linux内核模块方式实现的块级别同步复制技术.它通过网卡将主服务
器的每个块复制到另外一个服务器块设备上,并在主设备提交块之前记录下来.DRBD与SAN类似,也是有一个热备机器,开始提供服务时会使用和故障机器相
同的数据,只不过DRBD的数据是复制存储,不是共享存储.DRBD的架构图如下:
优点:
①切换对应用透明
限制或缺点:
①影响写入性能,由于每次写磁盘,实质都需要同步到网络服务器.
前面讨论的两种方案分别依赖于底层的共享存储和磁盘复制技术,来解决MYSQL服务器单点和磁盘单点的问题.而实际生产环境中,高可用更多的是依赖
MySQL本身的复制,通过复制为Master制作一个或多个热副本,在Master故障时,将服务切换到热副本.下面的几种方案都是基于主从复制的方
案,方案由简单到复杂,功能也越来越强大,实施难度由易到难,各位可以根据实际情况选择合适的方案.
大家好,一起来搞一下mysql的负载均衡这个技术点.
① haproxy介绍与配置
① 可靠性与稳定性都非常出色,可与硬件级设备媲美.
全局设定
global settings:主要用于定义 haproxy 进程管理安全及性能相关的参数.
代理设定
注意:此处只做配置文件介绍,不做为后期负载均衡配置
haproxy状态检测脚本不执行问题,如果是使用的service keeplived start 或者是 systemctl 方式启动,脚本可能会不执行,可以使用 Keepalived -f /etc/keepalived/keepalived.conf方式启动Keepalived
以上就是土嘎嘎小编为大家整理的怎么模拟mysql高负载相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!