会计考友 发表于 2012-8-4 12:16:06

红旗认证辅导:设计高性能网站架构-LLMP

 在网站架构设计中,巨匠必然对 LAMP (Linux Apache Mysql Php) 不目生。
  LAMP确实是一个很是优异的架构,秉承着自由,开放,高效,易用的设计理念。
  可是,本文不筹算切磋LAMP,网上有良多介绍LAMP的资料。
  这里,想给巨匠介绍另一个在LAMP上衍生出来的,以晋升机能为首要目的的开源网站架构。
  1, 选择高机能 OS
  首先,不难理解,任何一个server最底层的支撑仍是OS,而OS的选择,首要搜罗 Unix, Windows server, Linux, BSD等等。
  此鱿脯开源的OS,有Linux, BSD及部门unix。年夜今朝使用情形来看,Linux仍是网站首选OS之一。
  可是,Linux因为其自由的特点,也给选择发生了一些未便 - 刊行版太多。
  现有的主流版本搜罗 red hat(RHEL), Ubuntu, 红旗, openSuSE, debian等。
  此鱿脯每一个刊行版都有自己的特色,好比RHEL的不变,Ubuntu的易用,红旗的中文撑持很棒等。
  但要以机能为主,又兼顾不变,易用性,以上都不是最佳选择。
  这里举荐一个刊行版,它是一个极限机能,加高度可定制,优化的 Linux - gentoo。
  gentoo的机能优化是年夜kernel源码编译就瞥绶入手了,经由过程选择分歧的源码包,可以顺应于分歧的应用场景。
  (分歧内核介绍: http://imkenwu.javaeye.com/blog/168906 )
  举个经典的例子:国内,douban.com 在定制优化过的 gentoo 上跑的web处事器最高一天支撑了 2500 万pv。
  http://www.dbanotes.net/arch/douban_web_server.html
  这种流量,哪怕是供给纯静态的内容,也是很恐怖的。
  而撑持这种年夜流量的,除了server自己,最关头的就是高度精简的OS了。
  所以,综上所述,高机能网站举荐使用可优化,定制的 gentoo 作为载体。
  2, 选择高机能 web server
  Apache是 LAMP 架构最焦点的 web server, 开源,模块丰硕,功能强年夜,不变是它的绝对优势。
  在美国前100个网站中,有49%的使用apache。可见其影响力。
  可是,有利有弊,apache的致命缺陷,就是多于臃肿,强年夜的功能,必然会带来机能上的损耗。
  面临这种气象,在市场上,有一支异军突起,那就是更轻量级的 web server - lighty(lighttpd)。
  官方为它界说的口号是 fly light。
  它具有很是低的内存开销,cpu占用率低,效能好,以及丰硕的模块撑持等特点。
  这让他在短时刻内占有了14%以上的市场份额。而且有越来越多的人起头选择使用lighty作为前端 web server。
  到这里为之,其实高机能 web server 非 lighty 莫属。但更棒的是,依靠 gentoo 的高度定制化,我们还可以
  进一步晋升 lighty 的机能潜力-那就是定制 lighty。
  3,选择高机能 database
  数据库是任何网站走动态化内容揭示及营业数据存储的保障。
  市道上的开源数据库首要有 mysql , postgresql , berkeley db, sqlite 等。
  此鱿脯对比一下,
  mysql : 多线程,多措置器,高机能,5.0以上撑持事务,丰硕数据类型和sql语法,跨平台。
  postgresql : 面向对象,集成web,撑持事务,使用历程,速度略慢于mysql.
  berkeley db : 嵌入式,数据操作经由过程接口完成,跨说话。
  sqlite : 与php集成,撑持ACID特征,撑持年夜并发量,库锁。
  年夜膳缦沔的对比中,不难看出,mysql 应该是机能,不变性与功能性的综合之选。
  4,选择高机能 script language
  能与 lighty 连系的剧本说话,首要有 ruby, php, python, perl。体例主若是经由过程 fast-cgi 来访谒。
  只年夜机能角度对比几种说话:
  处事器:设计高机能网站架构-LLMP src="" twffan="done">
  ( http://www.timestretch.com/FractalBenchmark.html )
  不难看出,python 是此次测试中,机能最好的剧本说话。
  动态措置方面有绝对优势。对比 php , 前者,可以更快的衬着输出内容,并由经lighty, 高速flush缓存到浏览器。
  值得一提的是, douban.com 也是使用 python 作为应用处事器。
  总结一下,什么是 LLMP?
  LLMP 是 Linux Lighty Mysql Python 的组合,作为一种高机能的网站架构设计存在。
  什么是高机能的LLMP?
  LLMP并不意味着高机能,只是比其他架构,更有机能的晋升潜力。高机能的LLMP,需要年夜系统,轨范,硬件各个层面上协同进行的
页: [1]
查看完整版本: 红旗认证辅导:设计高性能网站架构-LLMP