红旗认证辅导:设计高性能网站架构-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]