系统介绍:
某大型互动类系统,日均PV2000万左右,总数据量约400G,关系数据库大小30G(不含内容正文)。大约有100多张表。主要是文字业务。
主业务表数据为百万级(100万->800万),归档内容和日志表为千万级。
系统基于Mysql数据库,主从分离部署(1主多从),以前采用hibernate做持久层。
调整后架构:
调整后数据层分为2组数据库,一组为主业务库,一组为归档数据库和日志库。归档和日志库仅仅存放归档表,删除内容表以及日志表,持久层用guzz改写;以前的业务逻辑依然基于hibernate,代码不做任何调整。
调整后数据库模型:
主业务库:1主多从,数据库大小减少至11G。
归档日志库:1主2从。
调整后结果:
1. 目前已经在线上运行超过1个月,系统没有出现任何故障,速度也快了不少。原因可能是由于我们数据库机器只有16G内存,数据量减少后,主业务库的缓存系统更加有效吧。
2.
数据库备份由80分钟降低到30分钟左右。主业务库每天自动dump出来一份做备份,现在快了很多。这样灾难恢复也能快很多(由3小时降低至1小时?)。
3.
主数据库负载大幅度下降。以前我们也做了主从分离,配置hibernate两个sessionFactory,可能是不够彻底,主库负载最高。调整后,主库linux负载降到了0.2以下,mysql连接数也大幅降低了,看起来安全了很多。在Mysql典型结构中,一般主库是瓶颈和单点,降低负载意味着更加稳定和具有扩充性。
4.
主业务数据库的从库负载上升。这是系统负载分布判断错误引起。调整后归档日志库基本上零负载,这些机器本来也是分担一些主业务查询压力的,现在全都转给了主业务库剩下的从数据库了……。机器分配上可能还需要进一步优化,或者将更多辅助业务剥离到归档日志库。
分享到:
相关推荐
guzz的jar包,工程下直接考过来的,可以直接使用
Guzz是一个基于Java的高性能、轻量级的分布式数据处理框架,主要用于处理大规模数据流。这个"empty sample project build20110323.zip"是针对Guzz的学习资源,包含了一个简单的示例项目,供学习者进行实践操作。通过...
guzz是一套用来进行快速开发和高性能网站设计的java框架,通过ORM、多数据源数据管理、以及通用数据处理,为系统在数据层的设计提供一站式解决方案。用于替代或者补充hibernate或ibatis,并提供更多的大型系统架构...
通过集成Guzz-crx插件,用户无需离开Guzz.io网站就能启动屏幕共享,这简化了操作流程,使得用户能在同一平台上进行多任务处理,例如讨论项目进度、展示设计草图或者实时解决问题。 屏幕共享功能的工作原理通常是...
为Guzz启用屏幕共享。 此扩展程序允许www.guzz.io用户共享桌面屏幕 支持语言:English
NULL 博文链接:https://guzz.iteye.com/blog/256235
NULL 博文链接:https://guzz.iteye.com/blog/883225
总结起来,Bof: 是用户友好的避免使用魔术字符串和数组进行配置:相反,它提供可由IDE自动完成的显式,类型化和文档化方法带有默认值:默认支持JSON,4xx和5xx响应抛出异常,默认情况下超时时间短符合PSR-7 未来的...
此外,load()默认会尝试从二级缓存中获取数据,而get()在较新版本的Hibernate中也开始支持二级缓存。 Session中还有其他几个重要的操作方法,如save()、update()、merge()、lock()、saveOrUpdate()和persist()。...
持久层框架则是实现数据持久化操作的一系列框架,常见的有Hibernate、MyBatis、TopLink、Guzz-jOOQ、SpringData和ActiveJDBC等。 3. Hibernate持久层框架:Hibernate是一个开源的ORM框架,它提供了一个完整的解决...
根据给定文件的信息,我们可以提炼出与“哀悼日变灰操作”相关的IT知识点,但首先需要澄清的是,文件内容似乎包含了一些不相关的代码片段和文档,这些内容涉及一个名为"Guzz"的全栈数据层解决方案框架,以及一系列与...
在当今Java开发领域,Java框架的知识无疑是面试过程中的重要组成部分,尤其在企业应用架构、大型网站架构和应用服务器优化等方面的知识,更是考察应聘者综合素质的关键。接下来,我们将深入探讨Java框架方面面试题中...
同时,日志记录也是跟踪软件运行状态的关键部分。 8. **版本控制**:考虑到代码通常是通过版本控制系统(如Git)管理的,源码可能会包含提交历史,显示了软件的发展过程。 9. **构建系统**:为了编译和打包软件,...
Java是一种广泛使用的面向对象编程语言,特别是在企业级应用开发中占据重要地位。在面试中,Java相关的技术问题经常涉及到ORM(对象关系映射)技术、持久层设计、以及Hibernate这样的ORM框架。ORM允许开发者使用面向...
MultiSafepay PHP SDK关于...如果您没有安装任何客户端实现,请使用以下命令: composer require guzzlehttp/guzzle如果您没有安装任何工厂实现,请使用以下命令: composer require http-interop/http-factory-guzz
- **Guzz**:轻量级的持久层框架。 - **ActiveJDBC**:面向对象的持久层框架,提供了类似于ActiveRecord的风格。 #### 三、SessionFactory与Session的安全性与使用场景 **知识点概述:** SessionFactory和...
从Hibernate 3开始,get方法也可以访问二级缓存。 #### 五、Session中的save、update、merge、lock、saveOrUpdate和persist方法 **1. 方法的功能与区别** - **save**:将一个瞬时态的对象变为持久态,会触发...