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

您當(dāng)前所在位置:首頁操作系統(tǒng)LINUX → Linux服務(wù)器:設(shè)計(jì)高性能網(wǎng)站架構(gòu)-LLMP

Linux服務(wù)器:設(shè)計(jì)高性能網(wǎng)站架構(gòu)-LLMP

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

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

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

1, 選擇高性能 OS

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

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

但是,Linux由于其自由的特點(diǎn),也給選擇產(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源碼編譯就開始入手了,通過選擇不同的源碼包,可以適應(yīng)于不同的應(yīng)用場景。

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

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

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

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

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

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

2, 選擇高性能 web server

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

在美國前100個網(wǎng)站中,有49%的使用apache。可見其影響力。

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

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

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

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

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

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

進(jìn)一步提升 lighty 的性能潛力-那就是定制 lighty。

3,選擇高性能 database

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

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

其中,對比一下,

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

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

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

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

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

4,選擇高性能 script language

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

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

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

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

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

值得一提的是, douban.com 也是使用 python 作為應(yīng)用服務(wù)器。

總結(jié)一下,什么是 LLMP?

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

什么是高性能的LLMP?

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

關(guān)鍵詞標(biāo)簽:Linux服務(wù)器,網(wǎng)站架構(gòu)

相關(guān)閱讀

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

熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程使用screen管理你的遠(yuǎn)程會話使用screen管理你的遠(yuǎn)程會話GNU/Linux安裝vmwareGNU/Linux安裝vmware如何登錄linux vps圖形界面 Linux遠(yuǎn)程桌面連如何登錄linux vps圖形界面 Linux遠(yuǎn)程桌面連

相關(guān)下載

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