mysql atlas更新问题_Atlas几种常见故障解决(不定期更新)

1)使用atlas却发现“读库闲置,框架还是去主库读写数据”

配置完atlas之后,发现使用jdbc框架的话,读库和写库各司其职,但是使用mybatis框架之后,就发现框架的读写都去了主库,把读库放置一边,那么这种情况是因为“有事务存在的话,atlas就会强制走主库”,遇到这种情况就检查一下是否有事务的存在,比如@Transactional,如果要解决的话,就加上“@Transactional(propagation=Propagation.NOT_SUPPORTED)”即可。

c929ec1109c6c7fa09e21b49cf23d821.png

2)自动读写分离挺好,但有时候我写完马上就想读,万一主从同步延迟怎么办?

SQL语句前增加 /*master*/ 就可以将读请求强制发往主库。在mysql命令行测试该功能时,需要加-c选项,以防mysql客户端过滤掉注释信息。不过这不能从本质上解决问题,使用Atlas需要考虑到这点, 提高主机的IO性能,加大memory可以缓解延迟症状,但依旧不能避免延迟的出现,尤其是读多写少的应用。

3)resource limit问题

atlas有自己的连接池,会吃掉很多CPU, php应用端改用短链接来连接atlas, 这时候atlas对php发送来的sql只负责验证和转发的操作,后端DB的连接由atlas自己管理,未使用的连接线程进行剔除操作(DB的wait_timeout和interactive_timeout设置为300s,超时亦退出)。

如果MySQL后端的连接数也满了可能会报以下错误:

可以临时增加MySQL connection数量:

关于Too many open files错误,可能由两种情况引起:

一、php长连接连接到atlas后,每个线程占用一个FD,直到超出系统资源限制而出现too many错误;

二、php应用端发送到atlas的sql过多,大量并发的情况下,linevent维护的队列过多,每个event吃一个FD,超出系统资源限制引起too many错误;

避免too many错误,增加用户的ulimit值加大FD的使用量,可增加系统ulimit 资源到 ~/.bash_profile文件或/etc/security/limits.conf文件:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/442602.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何更改mysql服务名_技术小百科 |【云小课】数据复制服务如何实现对象名映射...

数据复制服务(Data Replication Service,简称DRS)是一种易用、稳定、高效、用于数据库在线迁移和数据库实时同步的云服务。数据复制服务提供了在线迁移、备份迁移、数据同步、数据订阅和多活灾备等多种功能。数据复制服务支持哪些对象名映射数据复制服务的数据同步功…

python 二维强度图_荐 python数据分析matplotlib库使用之二维图形绘制

本篇内容会在后期不定时更新什么是matplotlibmatplotlib是最流行的python底层绘图库,主要做数据可视化图表。为什么要学习matplotlib能将数据进行可视化,更直观的呈现使数据更加客观,更具有说服力二维图绘制matplotlib库的基本使用之折线图导…

python数据爬虫代码_python如何示例爬虫代码

python爬虫代码示例的方法:首先获取浏览器信息,并使用urlencode生成post数据;然后安装pymysql,并存储数据到MySQL即可。python爬虫代码示例的方法:1、urllib和BeautifuSoup获取浏览器信息from urllib import requestre…

kali linux查看网卡_CentOS7.6安装无线网卡驱动|Linux如何安装网卡驱动|Linux如何让配置网卡...

此前提到,Thinkpad E490安装CentOS7.6遇到内核崩溃的问题,解决之后,安装CentOS7.6操作系统成功。安装时发现,系统能够检测到有线网卡,但无法检测到无线网卡,说明CentOS7.6对此无线网卡的支持不足&#xff0…

python本地编译器_Python学习札记(0)——Python开发环境搭载及推荐几款Python编译器...

1、进入网址:http://www.python.org/download/#id102、选择版本:其中有两个Python版本,一个为3.0以上版本,一个为2.7版本,主要区别有一些特定的软件只支持2.7版本其中的两个windows版本为:Python 3.3.3 Win…

如何将mysql的数据库渲染到页面_vue.js实现数据库的JSON数据输出渲染到html页面功能示例...

本文实例讲述了vue.js实现数据库的JSON数据输出渲染到html页面功能。分享给大家供大家参考,具体如下:1、首先通过json.php把数据库给输出为json格式的数据[{"id":1,"resname":"百度","resimg":"http://www…

java模块_Java 9 揭秘(2. 模块化系统)

文 by / 林本托Tips做一个终身学习的人。在此章节中,主要介绍以下内容:在JDK 9之前Java源代码用于编写,打包和部署的方式以及该方法的潜在问题JDK 9中有哪些模块如何声明模块及其依赖关系如何封装模块什么是模块路径什么是可观察的模块如何打…

java reader_Java之字符输入流,Reader类的简单介绍

各位小伙伴们大家好,在之前的文章中,小编介绍了Java之文件复制的简单介绍,多是一些关于字节的知识,这次小编要介绍的是字符输入流Reader类,具体如下:java.io.Reader:字符输入流,是字符输入流的最…

java redis brpop_Redis实战 | 5种Redis数据类型详解

我们知道Redis是目前非常主流的KV数据库,它因高性能的读写能力而著称,其实还有另外一个优势,就是Redis提供了更加丰富的数据类型,这使得Redis有着更加广泛的使用场景。那Redis提供给用户的有哪些数据类型呢?主要有&…

java 线程 单例_多线程单例模式

多线程单例模式原文:https://blog.csdn.net/u011726005/article/details/823565381. 饿汉模式使用饿汉模式实现单例是十分简单的,并且有效避免了线程安全问题,因为将该单例对象定义为static变量,程序启动即将其构造完成了。代码实…

java 中间件 pdf_Java中间件技术及其应用开发 PDF扫描版[51MB]

Java中间件技术及其应用开发 内容提要:本书使用丰富的案例介绍了使用Java技术进行中间件编程的方法及技巧,包括JSP、JavaServlet、JDBC数据库开发、使用JavaMail开发邮件应用程序、RMI(远程方法调用)、EnterpriseJavaBeans开发、使用CORBA以及JavaIDL进行…

java循环左一_左旋转字符串(Java)-循环Index方式

左旋转字符串(Java)-循环Index方式题目要求​ 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S”…

java车次信息_从火车站车次公示栏来学Java读写锁

Java多线程并发之读写锁本文主要内容:读写锁的理论;通过生活中例子来理解读写锁;读写锁的代码演示;读写锁总结。通过理论(总结)-例子-代码-然后再次总结,这四个步骤来让大家对读写锁的深刻理解。本篇是《凯哥(凯哥Java…

java构建xml参数_Java中使用XML创建EMAIL模板

邮件模板让我们来看看邮件模板的格式。模板是XML文件,它包含一个根元素和一系列根的子元素。根元素是。必要的子元素是, , 和 。可选的子元素是 , , 和 。如果你使用过邮件系统,那么你可以推导出这些元素实际包含的内容。可选的元素有多个实例&#xff0…

java 多目录 编译jar_javac编译多个包下的、依赖其他jar包的java文件

问题:多个*.java文件编译*.java文件依赖其他的jar包如下文件结构:F:\jar_prachild--child01--MyChild.java--child02--MyChild.javaparent--MyParent.javaMyParent.javapackage parent;public class MyParent{public void show(){System.out.println(&qu…

java11创建项目_2019-04-11 使用IDEA创建SpringBoot项目

一. 使用IDEA新建项目根据需要选择starter这样使用IDEA搭建的一个SpringBoot项目就可以了。同样可以通过https://start.spring.io/构建。二. 结构分析1.Springboot01Application:运行Springboot01Application就可以启动Spring Boot工程。2. pom.xml中则配置好了选中的starter的…

微博php sdk,php sdk微博第三方授权登入简单使用

简单说一下OAuth协议:OAUTH是一种开放的协议,为桌面、手机或web应用提供了一种简单的,标准的方式去访问需要用户授权的API服务。下面我们去微博开发者平台登入微博。如图填写信息:网站接入->创建新应用填写信息后可以拿到微博给…

php 堵塞 消息队列,PHP的并发处理

PHP如何处理并发什么是进程、线程、协程进程 Process计算机中的程序关于某数据集合上的一次运行活动,“一个执行中的程序”系统进行资源分配和调度的基本单位三态模型:多道程序系统中,进程在处理器上交替运行,状态不断地发生变化运…

python执行文件函数,python如何运行函数

运行Python的函数,只需要调用函数名,在传递参数就可以,不必关心函数体内部的代码块。函数是带名字的代码块,用于完成具体的工作需要在程序中多次执行同一项任务时,你无需反复编写完成该任务的代码,而只需调…

php小白书,php小白的自学第一天

虽然我还没有学会Python,但是已经开学了……然后老师要验收以php编写的网页……(wdnmd )这两天先把这个网页设计处理了,Python也会学,Linux还没开始,web更是啥也不会……谁再和我说大学比高中轻松我跟他拼命(听说只要先熟悉了HTML…