`
myreligion
  • 浏览: 205669 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

guzz顺利完成千万级社区网站线上运行

    博客分类:
  • guzz
阅读更多
系统介绍:

某大型互动类系统,日均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. 主业务数据库的从库负载上升。这是系统负载分布判断错误引起。调整后归档日志库基本上零负载,这些机器本来也是分担一些主业务查询压力的,现在全都转给了主业务库剩下的从数据库了……。机器分配上可能还需要进一步优化,或者将更多辅助业务剥离到归档日志库。

7
3
分享到:
评论
4 楼 myreligion 2010-10-08  
jitabc 写道
guzz好久没见更新了,能说一下你的成功案例吗?谢谢

一直在更新文档,功能上主要是准备下一版本和服务化功能。

没有突破性功能就没有对外发布更新通告~~~。案例见短消息。谢谢。
3 楼 jitabc 2010-10-08  
guzz好久没见更新了,能说一下你的成功案例吗?谢谢
2 楼 myreligion 2010-07-06  
cicl 写道
莫非是传说中的Peo Net?呵呵

no
1 楼 cicl 2010-07-06  
莫非是传说中的Peo Net?呵呵

相关推荐

    guzz的jar包

    guzz的jar包,工程下直接考过来的,可以直接使用

    guzz: a empty sample project build20110323.zip

    Guzz是一个基于Java的高性能、轻量级的分布式数据处理框架,主要用于处理大规模数据流。这个"empty sample project build20110323.zip"是针对Guzz的学习资源,包含了一个简单的示例项目,供学习者进行实践操作。通过...

    guzz开发jar

    guzz是一套用来进行快速开发和高性能网站设计的java框架,通过ORM、多数据源数据管理、以及通用数据处理,为系统在数据层的设计提供一站式解决方案。用于替代或者补充hibernate或ibatis,并提供更多的大型系统架构...

    Guzz-crx插件

    通过集成Guzz-crx插件,用户无需离开Guzz.io网站就能启动屏幕共享,这简化了操作流程,使得用户能在同一平台上进行多任务处理,例如讨论项目进度、展示设计草图或者实时解决问题。 屏幕共享功能的工作原理通常是...

    guzz的「Guzz」-crx插件

    为Guzz启用屏幕共享。 此扩展程序允许www.guzz.io用户共享桌面屏幕 支持语言:English

    InstallAnywhere 2008破解与自定义PlugIn陷阱经验分享

    NULL 博文链接:https://guzz.iteye.com/blog/256235

    轻松将一张大表分切到不同的机器中

    NULL 博文链接:https://guzz.iteye.com/blog/883225

    bof:人类的HTTP客户端

    总结起来,Bof: 是用户友好的避免使用魔术字符串和数组进行配置:相反,它提供可由IDE自动完成的显式,类型化和文档化方法带有默认值:默认支持JSON,4xx和5xx响应抛出异常,默认情况下超时时间短符合PSR-7 未来的...

    JAVA面试问题及标准答案.docx

    此外,load()默认会尝试从二级缓存中获取数据,而get()在较新版本的Hibernate中也开始支持二级缓存。 Session中还有其他几个重要的操作方法,如save()、update()、merge()、lock()、saveOrUpdate()和persist()。...

    Java面试题全集(下)

    持久层框架则是实现数据持久化操作的一系列框架,常见的有Hibernate、MyBatis、TopLink、Guzz-jOOQ、SpringData和ActiveJDBC等。 3. Hibernate持久层框架:Hibernate是一个开源的ORM框架,它提供了一个完整的解决...

    哀悼日变灰操作

    根据给定文件的信息,我们可以提炼出与“哀悼日变灰操作”相关的IT知识点,但首先需要澄清的是,文件内容似乎包含了一些不相关的代码片段和文档,这些内容涉及一个名为"Guzz"的全栈数据层解决方案框架,以及一系列与...

    java框架方面面试题

    在当今Java开发领域,Java框架的知识无疑是面试过程中的重要组成部分,尤其在企业应用架构、大型网站架构和应用服务器优化等方面的知识,更是考察应聘者综合素质的关键。接下来,我们将深入探讨Java框架方面面试题中...

    bicq代码

    同时,日志记录也是跟踪软件运行状态的关键部分。 8. **版本控制**:考虑到代码通常是通过版本控制系统(如Git)管理的,源码可能会包含提交历史,显示了软件的发展过程。 9. **构建系统**:为了编译和打包软件,...

    JAVA面试问题及答案.docx

    Java是一种广泛使用的面向对象编程语言,特别是在企业级应用开发中占据重要地位。在面试中,Java相关的技术问题经常涉及到ORM(对象关系映射)技术、持久层设计、以及Hibernate这样的ORM框架。ORM允许开发者使用面向...

    php-sdk:用于连接到MultiSafepay REST API的默认PHP库

    MultiSafepay PHP SDK关于...如果您没有安装任何客户端实现,请使用以下命令: composer require guzzlehttp/guzzle如果您没有安装任何工厂实现,请使用以下命令: composer require http-interop/http-factory-guzz

    Java面试题全集.docx

    - **Guzz**:轻量级的持久层框架。 - **ActiveJDBC**:面向对象的持久层框架,提供了类似于ActiveRecord的风格。 #### 三、SessionFactory与Session的安全性与使用场景 **知识点概述:** SessionFactory和...

    java框架面试题

    从Hibernate 3开始,get方法也可以访问二级缓存。 #### 五、Session中的save、update、merge、lock、saveOrUpdate和persist方法 **1. 方法的功能与区别** - **save**:将一个瞬时态的对象变为持久态,会触发...

Global site tag (gtag.js) - Google Analytics