• 在大负载应用当中,数据库一直是个很重要的瓶颈,必须要突破,本文讲解了两种分表的方式,希望对很多人能够有启发的作用。当然,本文代码和设想没有经过任何代码测试,所以无法保证设计的完全准确实用,具体还是需要读者在使用过程当中认真分析实施。
  • web2.0网站实战技巧
    Tag:优化
  • 构建支持Master/Slave读写分离的数据库操作类
  • Web站点数据库分布存储浅谈
    作者:heiyeluren
    博客:http://blog.csdn.net/heiyeshuwu
    时间:2007-11-18
    【 前言 】

    网 站在Web 2.0时代,时常面临迅速增加的访问量(这是好事情),但是我们的应用如何满足用户的访问需求,而且基本上我们看到的情况都是性能瓶颈都是在数据库上,这 个不怪数据库,毕竟要满足很大访问量确实对于任何一款数据库都是很大的压力,不论是商业数据库Oracle、MS S...
  • 黑夜路人 据他经验谈到高并发高负载网站的系统架构

    一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原来简单的html静态网站所能比...
  •  从LiveJournal后台发展看大规模网站性能优化方法 LiveJournal是99年始于校园中的项目,几个人出于爱好做了这样一个应用,以实现以下功能:

    博客,论坛 社会性网络,找到朋友 聚合,把朋友的文章聚合在一起 LiveJournal采用了大量的开源软件,甚至它本身也是一个开源软件。

    在上线后,LiveJournal实现了非常快速的增长:

    2004年4月份:280万注册用户。 2005年4月份:680万注册用...
  • 1. 里程碑一:50万账户

      按Benedetto 的说法,MySpace最初的系统很小,只有两台Web服务器和一个数据库服务器。那时使用的是Dell双CPU、4G内存的系统。

      单个数据库就意味着所有数据都存储在一个地方,再由两台Web服务器分担处理用户请求的工作量。但就像MySpace后来的几次底层系统修订时的情况一样,三服务器架构很快不堪重负。此后一个时期内,MySpace基本是通过添置更多Web服务器来对付用户暴增问题的。
    ...
    Tag:MYSPACE
  • Mixi目前是日本排名第三的网站,全球排名42,主要提供SNS服务:日记,群组,站内消息,评论,相册等等,是日本最大的SNS网站。Mixi从2003年12月份开始开发,由现在它的CTO - Batara Kesuma一个人焊,焊了四个月,在2004年2月份开始上线运行。两个月后就注册了1w用户,日访问量60wPV。在随后的一年里,用户增长到了21w,第二年,增长到了200w。到今年四月份已经增长到370w注册用户,并且还在以每天1.5w人的注册量增长。这些用户中70%是活跃用户(活跃用户:三天内至少...
    Tag:Memcache
  • 在西雅图扩展性的技术研讨会上,YouTube 的 Cuong Do 做了关于 YouTube Scalability 的报告。视频内容在 Google Video 上有(地址),可惜国内用户看不到。

    Kyle Cordes 对这个视频中的内容做了介绍。里面有不少技术性的内容。值得分享一下。(Kyle Cordes 的介绍是本文的主要来源)

    简单的说 YouTube 的数据流量, "一天的YouTube流量相当于发送750亿封电子邮件.&quo...
  • 我们都看到 Flickr 的成功,而又有多少"精英"们了解过 Flickr 背后的过程是多么充满艰险。

    Flickr 是全 CGI 的动态构架,并以一种 .gne 的脚本作为 CGI 程序语言。不管网站制作菜鸟还是高手都会疑惑:gne 是哪种程序语言?答案:gne 不是一种语言,Flickr 是以极为经典的 PHP + MySQL 方式实现的,在被 Yahoo 收购服务器搬入美国之前,使用了 21 台(69.90.111.101-121) Apache/P...
    Tag:
  • web2.0网站常用可用性功能模块分析Web 2.0网站是指将传统的网站构架(平台、内容源、用户、传播方式等)转化到以用户为核心的网站构架上来,包括一系列体现web2.0概念的元素、定位和创意。web2.0网站在构架上须体现两大宗旨,即强大的后台系统和简单的前台页面,也即提供良好的用户体验,体现以人为本,技术服务人类的宗旨。

    web2.0网站常用功能块通常包括以下几大项:

    1. Tag标签功能块

    Tag(中文叫做"标签...
  • Memcache最主要的特点就是两个:一是它是基于内存的高效Hash类缓存方式,二是使用了LUR算法来进行数据有效期控制,这两点就能够很好的满足我们的普通网站的应用,但也存在不足:包括:一是本身没有内置分布式功能,无法实现使用多台Memcache服务器来存储不同的数据,最大程度的使用相同的资源;二是无法同步数据,容易造成单点故障。这个问题一般都能过客户端来解决

    针对这个问题构建了一个PHP写的Class,大致的思想就是把多台Memcache服务器分成两组,每组的服务器数量可能是...
    Tag:Memcache
  • Memcached是“分布式”的内存对象缓存系统,那么就是说,那些不需要“分布”的,不需要共享的,或者干脆规模小到只有一台服务器的应用,memcached不会带来任何好处,相反还会拖慢系统效率,因为网络连接同样需要资源,即使是UNIX本地连接也一样。 在我之前的测试数据中显示,memcached本地读写速度要比直接PHP内存数组慢几十倍,而APC、共享内存方式都和直接数组差不多。可见,如果只是本地级缓存,使用memcached是非常不划算的。...
    Tag:Memcache
  • 需要安装的就是服务器的Memcached的守护进程和客户端的PHP扩展php_memcache两个东西 

    【安装Memcache服务器端】

    服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-1.2.0 。
    下载:http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz
    另外,Memcache用到了libevent这个库用于Socket的...
    Tag:Memcache
  • MemCache百度百科解释是:memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。最初为了加速 LiveJournal 访问速度而开发的,后来被很多大型的网站采用。起初作者编写它可能是为了提高动态网页应用,为了减轻数据库检索的压力,来做的这个缓存系统。它的缓存是一种分布式的,也就是可以允许不同主机上的多个用户同时访问这个缓存系统, 这种方法不仅解决了共享内存只能是单机的弊端,同...
    Tag:Memcache
  • 有 3 种方法可以加快 MySQL 服务器的运行速度,效率从低到高依次为:1.      替换有问题的硬件。 2.      对 MySQL 进程的设置进行调优。 3.      对查询进行优化。 迁移到 DB2
    您正在寻找一种干净利落、无成本的方法用来从 MySQL 迁移到 IBM® DB2® 吗?“从 MyS...
    Tag:优化 Web2.0
  • 调优 PHPPHP 是运行应用程序代码的引擎。应该仅安装计划使用的那些模块,并配置您的 Web 服务器,使之仅为脚本文件(通常是以 .php 结尾的那些文件)使用 PHP,而非所有静态文件。操作码缓存请求一个 PHP 脚本时,PHP 会读取该脚本,并将其编译为 Zend 操作码,这是要执行的代码的一种二进制表示形式。随后,此操作码由 PHP 执行并丢弃。操作码缓存将保存这个编译后的操作码,并在下一次调用该页面时重用它。这会节省很多时间。有多种缓存可用,我比较常用的是 eAccelerator。要安装...
    Tag:优化
  • 调优 Apache Apache 是一种高度可配置的软件。它具有大量特性,但每一种都代价高昂。从某种程度上来说,调优 Apache 来说就是以恰当的方式分配资源,还涉及到将配置简化为仅包含必要内容。配置 MPMApache 是模块化的,因为可以轻松添加和移除特性。在 Apache 的核心,多处理模块(Multi-Processing Module,MPM)提供了这种模块化功能性 —— 管理网络连接、调度请求。MPM 使您能够使用线程,甚至能够将 Apache 迁移到另外一个操...
    Tag:优化
  • LAMP 系统的工作原理、性能度量方法及底层操作系统的调优方法如今,使用 LAMP(Linux®、Apache、MySQL 和 PHP/Perl)架构的应用程序不断被开发和部署。 但是,服务器管理员对应用程序本身几乎没有控制能力,因为应用程序是别人编写的。这份共三部分的系列文章将讨论许多服务器配置问题,这些配置会影响应用程序的性能。第一篇文章讨论 LAMP 架构、一些性能度量技术以及一些基本的 Linux 内核、硬盘和文件系统调节。后续的文章将研究 Apache、MySQL 和 PHP 组件...
    Tag: