首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>网络管理>linux服务器>正文

Linux服务器:设计高性能网站架构-LLMP

http://www.oklinux.cn  2009-01-14  http://www.cssframework.cn/    会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

在网站架构设计中,大家一定对 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 来访问。

只从性能角度对比几种语言:

( http://www.timestretch.com/FractalBenchmark.html )

不难看出,python 是此次测试中,性能最好的脚本语言。

动态处理方面有绝对优势。对比 php , 前者,可以更快的渲染输出内容,并由经lighty, 高速flush缓存到浏览器。

值得一提的是, douban.com 也是使用 python 作为应用服务器。

总结一下,什么是 LLMP?

LLMP 是 Linux Lighty Mysql Python 的组合,作为一种高性能的网站架构设计存在。

什么是高性能的LLMP?

LLMP并不意味着高性能,只是比其他架构,更有性能的提升潜力。高性能的LLMP,需要从系统,程序,硬件各个层面上协同进行的。


上一篇:Ubuntu下安装NetBeans 6.5时中文变成方块的解决办法   下一篇:linux unix 系统管理员 程清(上海)信息科技有限公司

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Ubuntu下安装NetBeans 6.5时中文变成方块的解决办法
·Linux下jdmail邮件系统安装完成后的设置与启用
·在Linux下如何检查邮件系统已经安装成功
·金笛邮件服务器在Linux下的安装步骤
·Linux下Apache Sendmail Openwebmail配置详解
·在Linux下安装Web程序同样简单,一条命令搞定
·在RHEL 5中配置DHCP全指南
·Fedora安装php bcmath包的用处
·Ubuntu Apache 服务之 PHP 配置
·IBM Linux管理员快速迁移LAMP的奥秘
·Linux ( RHEL 4 )中ftp连接530错误的解决方法
·在Ubuntu下编译和安装PHP 5.2.8
·Ubuntu下安装和设置Apache2
·Linux下架设自己的DNS(下)
·Linux下架设自己的DNS(上)
·Linux管理员新手易犯的十种错误
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Ubuntu下安装NetBeans 6.5时中文变成方
·Linux下jdmail邮件系统安装完成后的设
·在Linux下如何检查邮件系统已经安装成
·金笛邮件服务器在Linux下的安装步骤
·Linux下Apache Sendmail Openwebmail配
·在Linux下安装Web程序同样简单,一条命
·在RHEL 5中配置DHCP全指南
·Fedora安装php bcmath包的用处
·Ubuntu Apache 服务之 PHP 配置
·IBM Linux管理员快速迁移LAMP的奥秘
·Linux ( RHEL 4 )中ftp连接530错误的解
·在Ubuntu下编译和安装PHP 5.2.8
  阅读排行
·详解远程SHELL下安装配置RedHat ES 5的
·Linux系统下架设APACHE SVN服务器全过
·安装大型Linux集群(4):节点安装和 GPFS
·LVS集群学习笔记(NAT\DR\IP tunnel)
·Linux 下配置vsftp虚拟用户总结
·Linux服务器存储空间巧妙管理
·安装大型Linux集群(1): 简介和硬件配置
·Ubuntu下安装tftp服务器的步骤
·RedHat Linux AS4 LAMP经典网站搭建实
·Linux下用vsftp轻松搭建FTP服务器(修订
·安装大型Linux集群(2):配置管理服务器
·安装大型Linux集群(3):存储和共享文件
·Linux与Linux,Linux与Windows之间使用S
·Xen和虚拟化技术学习指南
·linux下文件服务Vsftp详细介绍
网摘收藏: