首页 文章 精选 留言 我的

精选列表

搜索[读写分离],共10005篇文章
优秀的个人博客,低调大师

MaxScale2.0.1结合Java Druid连接池实现读写分离注意事项

现象: 程序会不定时的出现连接错误,问题bug的异常信息如下: The last packet successfully received from the server was 116 milliseconds ago. The last packet sent successfully to the server was 115 milliseconds ago. java.sql.SQLException: No database selected 但通过客户端sqlyog/navicat连接均为正常。 ---------------------------------------------------------------------- 另:maxscale1.4.3有时还会出现挂起现象,4006端口直接关闭。后我们用了watch命令后台跑监控。 watch -d /bin/bash /root/sh/restart_maxsacle.sh #!/bin/bash netstat-ntlp|grepmaxscale|grep4006>/dev/null2>&1 if[$?-eq1];then /etc/init.d/maxscalestart fi 解决:5.6以下可以直接在url上配置:autoReconnect=true 对于5.6以上的只能在jdbc的链接池里设置: 第一个设置成ture,超时自动链接,对于mysql要把第二个设置成false,不启用缓存。 以上是开发需要注意的都是一些基本的配置。 其目的为:每次归还连接时执行select 'x'检测连接是否有效。

优秀的个人博客,低调大师

秋色园QBlog技术原理解析:性能优化篇:读写分离与文本数据库(十八)

上节回顾: 上节 秋色园QBlog技术原理解析:性能优化篇:用户和文章计数器方案(十七), 秋色园QBlog对于频繁产生更新操作的访问计数器(用户表及文章表),进行了另一种优化方案处理,使得原来并发进行的操作,变成了定时的单个队列式顺序更新操作,有效的解决了计数器引发的并发的问题。 本节概要: 虽然减压方案频繁出招,可是依旧没能阻挡住access黄金4K的绝杀。 在压力之下,梦幻潜能再次被激发。 于是,新的绝招再次出世:一个失传已久的招数:文本数据库。 本节内容: 1:分析寻找优化点: 通过CYQ.Data的 AppDebug(即将发布的V4.5.5版本包含此类),打印出页面的SQL语句: PS:关于打印页面SQL语句的优化,可见之前的文章:秋色园QBlog技术原理解析:性能优化篇:全局的SQL语句优化(十三) 首先观察页面这些语句,我们看到这里涉及到几条语句: 1:第一次的表架构获取语句,即where 1=2的语句 2:博客用户的信息读取语句 3:友情链接的语句 PS:如果没有缓存,当然还有很多和文章列表相关的语句,文章的下节重点再讲。 然后我对着这些语句寻思了很久时间,最后得出结论,得把这些语句消灭掉。 2:步步分析并对可优化点进行优化: 2.1:消灭表架构读取SQL语句 这个其实关系不大,因为一个表仅读一次,而且之后全局默认缓存30分钟,所以出现频繁非常低,不过了为追求首页0语句,我还是比较严肃的把它给消灭了,怎么消灭的? 消灭其实还是很好解决的,只要首次读取时,把表架构外置到文本中即可,于是架构的读取顺序就变成了:缓存->文本->数据库。 下面给一张表架构外置文本和架构外置架构示例图: 2.2:消灭用户信息的读取SQL语句 其实用户表是个大问题,经常也会出现的4K,因为有太多的语句,可涉及到用户表的读取。 为此,虽然说用户信息每次读取完后也会进行缓存,但是,用户数量比较多,搜索引擎来来回回,啥用户也会扯到,所以总体来来回回就变的读取相当相当的频繁,为此,我想了一想,把它给消灭了,怎么消灭的? 同理,第一次读取时,我把用户信息外置到文本了,然后用户后台更新数据的时候,也刷新文本。 然后读取自然的顺序就变成了:缓存->文本->数据库。 于是当然的,秋色园现在4000多的用户,就产生了4000多个文本了,看似规模很庞大! 难免有人要发出感叹,要是你100万用户,不就产生100万个文本了?我想说,求之不得啊! 下面给一张用户信息文本及用户信息以json格式存储的示例图: 2.3:消灭友情链接的读取SQL语句 用户的友情链接,比起用户信息来说,不算重点,不过你会发现,用户的每个页面可都是也有友情链接的。 所以,我打算把它也给灭了,怎么消灭的? 有了上面两步的经验,这步实施起来太easy了,同理,首次把用户的友情链接转存到文件中,然后读取就是文本读取了,后台修改的时候,也是读的文本的,不过写的时候,先写数据库,再写文本。 于是,4000多用户,也会产生4000多的友情链接的文本。 下面给一张友情链接的文本及友情链接列表以json格式存储的示例图: 2.4:文章列表的SQL语句呢? 这里必须严肃的说一下,大量的文章列表的SQL语句,并没有使用文本的方式进行消灭。 为啥没有呢? 原因也很简单,因为文章列表涉及到查询及排序还有分组等复杂语句,文本不太好操作这些事情。 那文章列表是如何进行的优化,这是个大工程,当时我在外散步连续思考了3天,也是秋色园QBlog至今为止的最后一次优化,这么大工程,具体下节详细介绍了。 总结: 秋色园QBlog通过借助于文本,将大量的读取数据库转移到文本读取中,有效的降低了数据库的压力,同时网站运行也顺畅了很多。 经过一场应用之后,对文本有了第一印象: 优点:速度快,小数据量(10万或10M上下)简单的存储与读取非常方便。 缺点:删除,更新,查询,分页,排序及并发控制等操作复杂,而且数据量也不适合太多。 另外据网上搜索“文本数据库”的结果看来: 文本数据库以前在php界很流行,多数论坛都采用文本数据库,而且抗并发能力相当强,当然这背后相信有一定的技术手段在处理,然后后来的后来,php基本都统一mysql了。 至于.net界,文本数据库却从没流行过,这是为什么呢? 历史文章回顾: 1:秋色园QBlog技术原理解析:开篇:整体认识(一)--介绍整体文件夹和文件的作用 2:秋色园QBlog技术原理解析:认识整站处理流程(二)--介绍秋色园业务处理流程 3:秋色园QBlog技术原理解析:UrlRewrite之无后缀URL原理(三)--介绍如何实现无后缀URL 4:秋色园QBlog技术原理解析:UrlRewrite之URL重定向体系(四)--介绍URL如何定位到处理程序 5:秋色园QBlog技术原理解析:Module之页面基类设计(五)--介绍创建基类和自定义生命周期 6:秋色园QBlog技术原理解析:Module之页面基类-生命周期流程(六)--介绍基类生命周期内部业务 7:秋色园QBlog技术原理解析:Module之基类生命周期-页面加载(七)--介绍界面html加载原理 8:秋色园QBlog技术原理解析:Web之页面处理-内容填充(八)--介绍html的内容是如何填充 9:秋色园QBlog技术原理解析:独创的多语言翻译机制(九)--介绍html多语言翻译原理 10:秋色园QBlog技术原理解析:页面内容填充及多语言翻译流程演示示例(十)--总结演示示例代码 11:秋色园QBlog技术原理解析:页面Post提交机制(十一)--介绍如果Post提交数据 12:秋色园QBlog技术原理解析:性能优化篇:字节与缓存与并发(十二)--介绍性能优化:字节,并发及缓存 13:秋色园QBlog技术原理解析:性能优化篇:全局的SQL语句优化(十三)--介绍全局掌握SQL,进行针对性优化 14 :秋色园QBlog技术原理解析:性能优化篇:缓存总有失效时,构造持续的缓存方案(十四)--介绍二次缓存方案 15:秋色园QBlog技术原理解析:性能优化篇:数据库文章表分表及分库减压方案(十五)--介绍内容分库减压 16:秋色园QBlog技术原理解析:性能优化篇:access的并发极限及分库分散并发方案(十六)--介绍access并发上限 17:秋色园QBlog技术原理解析:性能优化篇:用户和文章计数器方案(十七)--介绍用户和文章访问的计数优化方案 附章: 1:秋色园QBlog技术原理解析:博客一键安装工具技术实现[附源码下载]--开源秋色园安装工具原理 2:如何安装部署秋色园CYQBlog站点 3:Windows7下如何安装部署秋色园CYQBlog站点 PS:秋色园QBlog下载地址:http://www.cyqdata.com/download/article-detail-427 版权声明:本文原创发表于博客园,作者为路过秋天,原文链接: http://www.cnblogs.com/cyq1162/archive/2011/08/07/2129785.html

优秀的个人博客,低调大师

MySQL-ProxySQL读写分离连接池负载均衡分库分表故障切换查询重写流量镜像SQL审计自动重连自动下线在线配置路由引擎Query Cache缓存主从复制架构高可用MySQL中间件ProxySQL

现在先简单介绍下其特色功能点: 查询缓存 查询路由 故障转移 在线配置立刻生效无需重启 应用层代理 跨平台 高级拓展支持 防火墙 通过上述,我们可以看到ProxySQL可以做许多事情,已经不仅仅是纯粹的MySQL读写分离

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。