• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    設計高性能網站架構-LLMP

    發布: 2008-9-04 18:19 | 作者: 網絡轉載 | 來源: 網絡轉載 | 查看: 74次 | 進入軟件測試論壇討論

    領測軟件測試網

    在網站架構設計中,大家一定對 LAMP (LinuxApacheMysqlPhp) 不陌生。
    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.kjueaiud.com/

    TAG: snooker 高性能 架構 設計 LLMP


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>