dadamoney

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年2月28日

摘要: 上次我们以LiveJournal为例详细分析了一个小网站在一步一步的发展成为大规模的网站中性能优化的方案,以解决在发展中由于负载增长而引起的性能问题,同时在设计网站架构的时候就从根本上避免或者解决这些问题。今天我们来看一下在网站的设计上一些通常使用的解决大规模访问,高负载的方法。我们将主要涉及到以下几方面:1、 前端负载2、 业务逻辑层3、 数据层在LJ性能优化文章中我们提到对服务器分组是解决负载问题,实现无限扩展的解决方案。通常中我们会采用类似LDAP的方案来解决,这在邮件的服务器以及个人网站,博客的应用中都有使用,在Windows下面有类似的Active Directory解决方案。有的应 阅读全文
posted @ 2011-02-28 15:57 dadamoney 阅读(245) 评论(0) 推荐(0) 编辑

摘要: 从LiveJournal后台发展看 大型网站系统架构以及性能优化方法一、LiveJournal发展历程LiveJournal是99年始于校园中的项目,几个人出于爱好做了这样一个应用,以实现以下功能:博客,论坛社会性网络,找到朋友聚合,把朋友的文章聚合在一起LiveJournal采用了大量的开源软件,甚至它本身也是一个开源软件。在上线后,LiveJournal实现了非常快速的增长:2004年4月份:280万注册用户。2005年4月份:680万注册用户。2005年8月份:790万注册用户。达到了每秒钟上千次的页面请求及处理。使用了大量MySQL服务器。使用了大量通用组件。二、LiveJournal 阅读全文
posted @ 2011-02-28 15:57 dadamoney 阅读(384) 评论(0) 推荐(0) 编辑

摘要: 大型互联网网站架构心得之一:分我们知道,对于一个大型网站来说,可伸缩性是非常重要的,怎么样在纵向和横向有良好的可伸缩性,就需要在做架构设计的时候考虑到一个分的原则,我想在多个方面说一下怎么分:首先是横向的分:1.大的网站化解为多个小网站:当我们一个网站有多个功能的时候,可以考虑把这个网站拆分成几个小模块,每一个模块可以是一个网站,这样的话我们到时候就可以很灵活地去把这些网站部署到不同的服务器上。2.静态动态分离:静态文件和动态文件最好分离开成2个网站,我们知道静态网站和动态网站对服务器来说压力的侧重不同,前者可能重IO后者重CPU,那么我们在选择硬件的时候也可以有侧重,而且静态和动态内容的缓存 阅读全文
posted @ 2011-02-28 15:50 dadamoney 阅读(224) 评论(0) 推荐(0) 编辑

摘要: 上次说的“分”是一个比较大的原则也是一个比较高层的原则,这次我想说一下其它两个原则:并与换。并为什么要分?是因为我们希望通过分来提高系统的承载能力,那并又是并什么呢?我想了一下有几个方面可以并:1.合并用户请求,最基本的就是合并CSS/图片/脚本,还可以合并页面。不过合并就可能产生流量的浪费,需要有一个平衡点。2.合并接口的粒度,如果做分布式应用的话,我们可能不会直接访问数据库而是调用应用层提供的接口,由于是网络调用,代价比较大,因此在设计的时候尽量提供粒度比较粗的接口,一次调用返回比较多的数据,而不是细化到添加删除修改的层次。3.合并接口的部署,对于频繁的跨机器调用可以考虑有一些数据冗余,把 阅读全文
posted @ 2011-02-28 15:50 dadamoney 阅读(175) 评论(0) 推荐(0) 编辑

摘要: Web2.0的兴起,掀起了互联网新一轮的网络创业大潮。以用户为导向的新网站建设概念,细分了网站功能和用户群,不仅成功的造就了一大批新生的网站,也极大的方便了上网的人们。但Web2.0以用户为导向的理念,使得新生的网站有了新的特点——高并发,高流量,数据量大,逻辑复杂等,对网站建设也提出了新的要求。 本文围绕高并发高流量的网站架构设计问题,主要研究讨论了以下内容: 首先在整个网络的高度讨论了使用镜像网站,CDN内容分发网络等技术对负载均衡带来的便利及各自的优缺点比较。然后在局域网层次对第四层交换技术,包括硬件解决方案F5和软件解决方案LVS,进行了简单的讨论。接下来在单服务器层次,本文着重讨论了 阅读全文
posted @ 2011-02-28 15:48 dadamoney 阅读(312) 评论(0) 推荐(0) 编辑