Mysql(MyISAM)的读写互斥锁问题的方法
近期,我们的数据库面临着日益增长的读写请求压力,特别是在主从分离架构中,主服务器迅速完成写入操作,但从库因大量的SELECT查询被来自主辅同步的UPDATE和INSERT操作严重阻塞,导致所有MySQL从库的负载迅速上升。
面对这种情况,我们暂时无法增加读的服务器,因此决定对MySQL进行一些配置调整。这些调整是以牺牲部分数据实时性为代价,来确保服务器的整体稳定运行。
基于这些基础知识,我们深入几个容易忽视的配置选项:
2. max_write_lock_count:默认情况下,写操作的优先级高于读操作。即使先发送的读请求,后发送的写请求也会优先处理。这会导致一旦发出若干个写请求,所有的读请求都会被堵塞。为了解决这个问题,我们可以使用max_write_lock_count设置。当设置为1时,系统处理一个写操作后,会暂停写操作,给读操作执行的机会。
3. low-priority-updates:我们可以更进一步,通过降低写操作的优先级,给读操作更高的优先级。当low-priority-updates设置为1时,写操作的优先级会降低。
综合考虑,我们强烈推荐将concurrent_insert设置为2。至于max_write_lock_count和low-priority-updates的设置,则视具体情况而定。如果可以降低写操作的优先级,建议使用low-priority-updates=1;否则,可以考虑使用max_write_lock_count=1。这些调整旨在优化数据库性能,以应对高并发读写请求的压力。
网站源码
- 如何在百度上传图片的方法教程分享
- Apple QuickTime 压缩 PICT文件处理远程溢出漏洞
- 电脑提示请将磁盘放入驱动器h是什么意思
- 新网互联绑定域名解析图解方法
- IE7 float-left左浮动失效的解决方法
- Dreamweaver怎么给网站添加一个动态横幅效果-
- ai怎么设计大小递增字母信息图标-
- css -not的多个条件的写法详解
- Win10创意者更新上线新功能Storage Sense-硬盘空间自
- Dreamweaver CS3网页怎么创建多个层-
- Amazon.com搭配顺丰快递实现7天直邮到中国
- win10预览版9926的官方ISO镜像文件怎么下载呢-
- Win10系统如何解除微软账户绑定?win10解除微软账
- 在AI中 改变圆角矩形圆角半径
- h2在div IE7中不垂直居中问题解决方法
- CSS改变选择网页文字背景色