IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當前所在位置: 首頁操作系統(tǒng)LINUX → Linux服務器:設計高性能網(wǎng)站架構-LLMP

Linux服務器:設計高性能網(wǎng)站架構-LLMP

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

在網(wǎng)站架構設計中,大家一定對 LAMP (Linux Apache Mysql Php) 不陌生。LAMP確實是一個非常優(yōu)秀的架構,秉承著自由,開放,高效,易用的設計理念。但是,本文不打算探討LAMP,網(wǎng)上有很多介紹LAMP的資料。

這里,想給大家介紹另一個在LAMP上衍生出來的,以提升性能為主要目的的開源網(wǎng)站架構。

1, 選擇高性能 OS

首先,不難理解,任何一個server最底層的支撐還是OS,而OS的選擇,主要包括 Unix, Windows server, Linux, BSD等等。

其中,開源的OS,有Linux, BSD及部分unix。從目前使用情況來看,Linux還是網(wǎng)站首選OS之一。

但是,Linux由于其自由的特點,也給選擇產(chǎn)生了一些不便 - 發(fā)行版太多。

現(xiàn)有的主流版本包括 red hat(RHEL), Ubuntu, 紅旗, openSuSE, debian等。

其中,每一個發(fā)行版都有自己的特色,比如RHEL的穩(wěn)定,Ubuntu的易用,紅旗的中文支持很棒等。

但要以性能為主,又兼顧穩(wěn)定,易用性,以上都不是最佳選擇。

這里推薦一個發(fā)行版,它是一個極限性能,加高度可定制,優(yōu)化的 Linux - gentoo。

gentoo的性能優(yōu)化是從kernel源碼編譯就開始入手了,通過選擇不同的源碼包,可以適應于不同的應用場景。

(不同內(nèi)核介紹: http://imkenwu.javaeye.com/blog/168906 )

舉個經(jīng)典的例子:國內(nèi),douban.com 在定制優(yōu)化過的 gentoo 上跑的web服務器最高一天支撐了 2500 萬pv。

http://www.dbanotes.net/arch/douban_web_server.html

這種流量,哪怕是提供純靜態(tài)的內(nèi)容,也是很恐怖的。

而支持這種大流量的,除了server本身,最關鍵的就是高度精簡的OS了。

所以,綜上所述,高性能網(wǎng)站推薦使用可優(yōu)化,定制的 gentoo 作為載體。

2, 選擇高性能 web server

Apache是 LAMP 架構最核心的 web server, 開源,模塊豐富,功能強大,穩(wěn)定是它的絕對優(yōu)勢。

在美國前100個網(wǎng)站中,有49%的使用apache??梢娖溆绊懥Α?/p>

但是,有利有弊,apache的致命缺陷,就是多于臃腫,強大的功能,一定會帶來性能上的損耗。

面對這種情形,在市場上,有一支異軍突起,那就是更輕量級的 web server - lighty(lighttpd)。

官方為它定義的口號是 fly light。

它具有非常低的內(nèi)存開銷,cpu占用率低,效能好,以及豐富的模塊支持等特點。

這讓他在短時間內(nèi)占據(jù)了14%以上的市場份額。并且有越來越多的人開始選擇使用lighty作為前端 web server。

到這里為之,其實高性能 web server 非 lighty 莫屬。但更棒的是,依靠 gentoo 的高度定制化,我們還可以

進一步提升 lighty 的性能潛力-那就是定制 lighty。

3,選擇高性能 database

數(shù)據(jù)庫是任何網(wǎng)站走動態(tài)化內(nèi)容展現(xiàn)及業(yè)務數(shù)據(jù)存儲的保障。

市面上的開源數(shù)據(jù)庫主要有 mysql , postgresql , berkeley db, sqlite 等。

其中,對比一下,

mysql : 多線程,多處理器,高性能,5.0以上支持事務,豐富數(shù)據(jù)類型和sql語法,跨平臺。

postgresql : 面向?qū)ο?,集成web,支持事務,使用進程,速度略慢于mysql.

berkeley db : 嵌入式,數(shù)據(jù)操作通過接口完成,跨語言。

sqlite : 與php集成,支持ACID特性,支持大并發(fā)量,庫鎖。

從上面的對比中,不難看出,mysql 應該是性能,穩(wěn)定性與功能性的綜合之選。

4,選擇高性能 script language

能與 lighty 結合的腳本語言,主要有 ruby, php, python, perl。方式主要是通過 fast-cgi 來訪問。

只從性能角度對比幾種語言:

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

不難看出,python 是此次測試中,性能最好的腳本語言。

動態(tài)處理方面有絕對優(yōu)勢。對比 php , 前者,可以更快的渲染輸出內(nèi)容,并由經(jīng)lighty, 高速flush緩存到瀏覽器。

值得一提的是, douban.com 也是使用 python 作為應用服務器。

總結一下,什么是 LLMP?

LLMP 是 Linux Lighty Mysql Python 的組合,作為一種高性能的網(wǎng)站架構設計存在。

什么是高性能的LLMP?

LLMP并不意味著高性能,只是比其他架構,更有性能的提升潛力。高性能的LLMP,需要從系統(tǒng),程序,硬件各個層面上協(xié)同進行的。

關鍵詞標簽:Linux服務器,網(wǎng)站架構

相關閱讀

文章評論
發(fā)表評論

熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP Linux操作系統(tǒng)修改IP

相關下載

    人氣排行 Linux下獲取CPUID、硬盤序列號與MAC地址 dmidecode命令查看內(nèi)存型號 linux tc實現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關機、重啟、注銷 命令 查看linux服務器硬盤IO讀寫負載