手机版

Mysql_如何进行性能优化教程(15)

发布时间:2021-06-11   来源:未知    
字号:

故障转移处理

要点

程序与数据库的连接,基于虚地址而非真实ip,由负载均衡系统监控。 保持主从结构的简单化,否则很难做到故障点摘除。

思考方式

遍历对服务器集群的任何一台服务器,前端web,中间件,监控,缓存,db等等,假设该服务器出现故障,系统是否会出现异常?用户访问是否会出现异常。 目标:任意一台服务器崩溃,负载和数据操作均会很短时间内自动转移到其他服务器,不会影响业务的正常进行。不会造成恶性的数据丢失。(哪些是可以丢失的,哪些是不能丢失的)

缓存方案

缓存结合数据库的读取

Memcached是最常用的缓存系统

Mysql 最新版本已经开始支持memcache插件,但据牛人分析,尚不成熟,暂不推荐。 数据读取

并不是所有数据都适合被缓存,也并不是进入了缓存就意味着效率提升。 命中率是第一要评估的数据。

如何评估进入缓存的数据规模,以及命中率优化,是非常需要细心分析的。 实景分析: 前端请求先连接缓存,缓存未命中连接数据库,进行查询,未命中状态比单纯连接数据库查询多了一次连接和查询的操作;如果缓存命中率很低,则这个额外的操作非但不能提高查询效率,反而为系统带来了额外的负载和复杂性,得不偿失。

相关评估类似于热点数据表的介绍。

善于利用内存,请注意数据存储的格式及压缩算法。

Key-value 方案繁多,本培训文档暂不展开。

缓存结合数据库的写入

利用缓存不但可以减少数据读取请求,还可以减少数据库写入i/o压力

缓存实时更新,数据库异步更新

缓存实时更新数据,并将更新记录写入队列

可以使用类似mq的队列产品,自行建立队列请注意使用increment来维持队列序号。

不建议使用 get 后处理数据再set的方式维护队列

测试范例:

范例1

$var=Memcache_get($memcon,”var”);

Mysql_如何进行性能优化教程(15).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)