分布式中间件技术实战(Java版),大型分布式网站架构设计与实践pdf
Lamp(LinuxApacheMySQLPHP)在网站架构的设计上是众所周知的。LAMP确实是一个非常好的架构,秉承了自由、开放、高效、易用的设计理念。然而,本文并不打算研究LAMP。网上有很多关于LAMP的信息。
在这里,我想介绍另一个由LAMP衍生而来的开源站点架构,其主要目的是提高性能。
1.选择高性能的操作系统。
首先不难理解,任何服务器的最低支持都是操作系统,操作系统的选择主要是Unix、Windows server、Linux、BSD等。
其中开源OS包括Linux、BSD和部分unix。从目前的使用情况来看,Linux是网站首选的操作系统之一。
但是Linux因为自由,在选择上有些不便。发布太多了。
目前的主流版本包括redhat(Rhel)、Ubuntu、红旗、openSuSE和debian。
其中包括RHEL的稳定性,Ubuntu的易用性,红旗出色的中文支持等。每个版本都有自己的特点。
但是注重性能,兼顾稳定性和易用性,并不是最好的选择。
在这里,我们推荐为Linux-gentoo优化的高度可定制的高性能发行版。
Gentoo的性能优化从编译内核源代码开始,通过选择不同的软件包可以适应不同的APP应用场景。
(内核介绍:http://imkenwu.javaeye.com/blog/168906)
作为一个典型的例子,在中国,运行在定制和优化的gentoo上的web服务器每天支持高达2500万pv。
33558 www。server.html notes.net/arch/douban网
这种流量即使提供纯静态的内容也是很可怕的。
而且支撑这么大流量的不仅仅是服务器本身,还有高度合理化的操作系统。
因此,如前所述,建议使用优化和定制的gentoo作为高性能站点的操作符。
2.选择高性能的web服务器
是Apache LAMP架构的核心web服务器,其绝对优势是开源、模块丰富、功能强大、稳定。
在美国排名前100的网站中,49%使用apache。你可以看到它的影响力。
但是,有利也有弊。Apache比臃肿有更多的致命缺陷,强大的功能肯定会带来性能损失。
面对这种情况,市场上突然出现了webserver-lighty(lighttpd)。
官方口号是zqdjr轻。
它具有内存开销低、cpu利用率低、性能好、模块支持丰富等特点。
因此,他在短时间内占据了超过14%的市场份额。而且越来越多的人选择lighty作为前端网络服务器。
到目前为止,高性能web服务器实际上并不轻便。更好的是,由于gentoo的高度定制,我们仍然有可能
进一步提高lighty的性能潜力——也就是定制lighty。
3.选择高性能数据库
确保数据库显示动态内容并存储任何网站上的业务数据。
市面上的开源数据库主要有mysql、postgresql、berkeley db、sqlite等。
其中,相比之下,
Mysql:多线程,多处理器,高性能,5.0或更高的事务支持,丰富的数据类型和sql语法,跨平台。
Postgresql:面向对象,web集成,事务支持,进程使用,比mysql稍慢。
Berkeley db:嵌入式,通过接口和跨语言进行数据操作。
SQLite:集成PHP,支持ACID特性,支持大量并发,锁库。
以上对比表明,mysql应该是性能、稳定性、功能性的综合选择。
4.选择高性能的脚本语言。
可以和lighty结合的脚本语言主要是ruby、php、python和perl。该方法主要通过fast-cgi访问。
从性能的角度比较几种语言。
服务器:设计高性能站点架构-LLM PSRC=" http://Linux . chinait lab . com/upload files _ 7565/200901/20090114092408738。"
(stretch.com/fractalbenchmark.html)
在这个测试中,你会发现python是最好的脚本语言。
动态处理有绝对优势。与php相比,前者可以更快的渲染输出内容,通过lights从高速flush缓存到浏览器。
有趣的是,douban.com也使用python作为应用服务。
总而言之,什么是LLMP?
LMP是Linux Lighty Mysql Python的组合,是作为高性能网站架构设计而存在的。
什么是高性能LLMP?
LMP并不意味着高性能,它只是比其他架构更有潜力提高性能。需要从系统、程序、硬件各方面结合高性能LLMP。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。