版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
xizhu2010年3月LAMP架構簡介目錄LAMP概述基于B/S的Web系統(tǒng)三層體系什么是LAMPLAMP的組成體系System:Linux/UnixServer:ApacheStorage:MySQL+MemcachedScript:PHP/Perl/Python經(jīng)典LAMP架構網(wǎng)站分析幾種網(wǎng)站架構比較PHP簡介PHP的發(fā)展歷程PHP的企業(yè)級應用全球使用PHP的網(wǎng)站PHP的運行環(huán)境PHP的開發(fā)環(huán)境PHP的生產(chǎn)管理系統(tǒng)PHP的缺點和前瞻參考資料基于B/S的Web系統(tǒng)三層體系軟件開發(fā)C/SorB/SC/S:Client/ServerB/S:Browser/ServerB/S架構的特點客戶端要求低可維護性很高數(shù)據(jù)安全性高實時交互性好B/S架構的三層體系分層式設計:分散關注、松散耦合、邏輯復用、標準定義界面表現(xiàn)層業(yè)務邏輯層數(shù)據(jù)存儲層LAMP的組成體系:SystemSystemL:Linux,包括但不限于Linux,我們認為可以泛指各種Linux/Unix系統(tǒng),RedHat、Suse、Debian、Turbo、FreeBSD、Solaris…甚至包括了PS3的YellowDogLinux和Apple的MacOS10.5Leopard我們公司主要使用的系統(tǒng):SuseLinux和SlackwareLinuxLAMP的組成體系:ServerServerA:Apache,一種占有全球72%市場的開源的WebServer,官方網(wǎng)站
最新版本2.2.8/2.0.63/1.3.41最近Pingdom的統(tǒng)計表明,Apache仍然主導全美100大網(wǎng)站(Alexa的排名),占據(jù)了49%的市場份額我們公司主要使用自己研發(fā)的WebServer,包括Qhttpd、TWS、QZ_Http、httpsrv等,部分業(yè)務使用Apache、Lighttpd、TomCatLAMP的組成體系:ServerServerWebServer軟件的使用比例分布LAMP的組成體系:Storage:MemcachedMemcached由DangaInteractive開發(fā)
使用libevent進行網(wǎng)絡IO處理,libevent作為一種新的非阻塞網(wǎng)絡IO方式以高效的方法(epoll/kqueue)組織IO,分布式散列對象到不同的服務器,查詢復雜度是O(1)。性能特別高,支持多進程和多線程,支持TCP和UDP協(xié)議,支持C、C#、PHP、Perl、Python、Ruby、Java客戶端,支持短連接和持久連接。內存占用少,每個單位的slab和chunk可定制大小由第三方開發(fā)的PHP客戶端,和PHP緊密結合,PHP的數(shù)組、對象可直接存儲,取出時自動還原,數(shù)據(jù)支持Gzip壓縮和二進制傳輸,并發(fā)讀寫支持CAS(Compare-and-Swap)大部分PHP的大型站點都在使用:Facebook、Sina、Sohu、Tom、Yahoo、51.com、wikipedia、sourceforge等等,F(xiàn)acebook參與了PHP官方的Memcache擴展函數(shù)庫開發(fā)維護和版本更新我們現(xiàn)在Qzone門戶、活動、城市達人、校園以及QQ會員等項目廣泛使用,自行開發(fā)了數(shù)據(jù)管理、數(shù)據(jù)恢復、狀態(tài)監(jiān)控和報警系統(tǒng),并實現(xiàn)了無縫擴容,無需數(shù)據(jù)遷移LAMP的組成體系:Storage:TencentTableCacheTencentTableCacheTencentTableCache:是由騰訊互聯(lián)網(wǎng)業(yè)務系統(tǒng)平臺架構部主持開發(fā)的基于Table結構進行內存存儲、以MYSQL作為最終存儲的持久數(shù)據(jù)層系統(tǒng),以此作為MYSQLcache組件.其性能卓越超群,數(shù)據(jù)安全可靠。被廣泛應用在包括Qzone平臺,校友平臺等項目上。該軟件使用epoll來管理網(wǎng)絡連接。這時當前效率最高的事件通知機制,在大連接情況下尤其能夠發(fā)揮威力。該軟件架構設計中,后端數(shù)據(jù)處理模塊是獨立的進程(helper進程),這些進程負責存取數(shù)據(jù),由watchdog進程來進行監(jiān)控,可以通過插件支持多種數(shù)據(jù)源(DB、文件、網(wǎng)絡數(shù)據(jù)源等)。。TTC3.0的內存分配算法采用glibc的ptmalloc算法。TTC在ptmalloc基礎上稍作修改,譬如內存只在共享內存塊內部分配,不會額外mmap;內部只能用偏移量而不是指針等。該軟件使用異步處理機制,多狀態(tài)的task,Task處理模型就像有窮狀態(tài)機,不需要大量的進程同步等待回應,所以降低了在進程/線程上下文切換上的開銷。LAMP的組成體系:ScriptScriptP:PHP,也可以泛指PHP、Perl、Python等解釋型腳本語言。截至2008年1月全球有33.24%的網(wǎng)站使用PHP,據(jù)統(tǒng)計在Alexa排名中國TOP200的網(wǎng)站中,使用PHP的網(wǎng)站有121個,占60%。在按照行業(yè)分類的網(wǎng)站統(tǒng)計中,25個行業(yè)的每個行業(yè)前10名,共計250個網(wǎng)站中,有102個使用PHP技術,占40%
Apache平臺上使用的語言比例分布經(jīng)典LAMP網(wǎng)站架構分析幾種網(wǎng)站架構的比較PHP
InternetDomains20M15M10M5MRasmusLerdorfIntroducesPHP/FIZeevSuraski,AndiGutmansdevelopPHP3PHP4Released1MInternetdomainsZendEngineZendFoundedYahoo!StandardizesonPHPPHP5.0XML,
SOAP,
OOPIBM,OracleEndorse
PHP1995199719992000200220042005PHP的發(fā)展歷程和使用PHP的網(wǎng)站數(shù)量圖示PHP:PHP發(fā)展歷程PHP:全球使用PHP的網(wǎng)站PHP:運行環(huán)境關于PHP的運行環(huán)境,主要有以下五種WebServer,包括Apache、IIS、Lighttpd、Zeus、NginxApacheApache2.x版本下提供了Prefork模式和Worker模式,鑒于PHP的第三方擴展函數(shù)庫很多都是不支持多線程的,所以PHP官方和Zend官方強烈推薦不要使用Worker模式,而是要么繼續(xù)使用Apache1.3.x,要么使用Apache2.x的Prefork模式
在Apache下,可以使用CGI方式、Apache模塊方式(mod_php)、FastCGI方式(mod_fastcgi和mod_fcgd)三種方式來運行PHP,其中mod_php最穩(wěn)定,mod_fcgd性能最高,需要說明的是FastCGI方式運行PHP存在一定風險,經(jīng)常性會宕掉,無論是mod_fcgd還是mod_fastcgi。目前Linux/FreeBSD/Solaris絕大部分PHP網(wǎng)站使用Apache+Prefork+Mod_PHP方式,包括我們Qzone和QQ會員的所有PHP項目。IISIIS5/6/7下,主要有三種方式:CGI方式(php.exe)、ISAPI方式(Windows下)和FastCGI方式,而Windows下目前Zend和微軟聯(lián)合開發(fā)推出的基于IIS的PHPFastCGI加載方式是性能最高的,穩(wěn)定性也很不錯。LighttpdLighttpd下主要使用FastCGI方式(Spawn-FCG)運行PHP,網(wǎng)站部()一直在使用這個,缺點是穩(wěn)定性較差,經(jīng)常掛掉。ZeusZeus是商業(yè)軟件,使用自帶的FastCGI方式來運行PHP,性能是所有運行PHP的服務器當中最高的,遠超過Apache和Lighttpd,但穩(wěn)定性還待提升。NginxNginx是一款純靜態(tài)服務器,需要通過轉發(fā)的形式,使用Lighttpd的Spawn-FCG或者PHPBuildFastCGI來以FastCGI方式運行PHP,這種方式性能很高但是穩(wěn)定性較差,目前有很多新的項目采用這一方式,包括新浪的一些新業(yè)務和51.com的很多服務器。PHP:運行環(huán)境PHP:加速器PHP的加速器:在Linux下的加速器包括PHP官方的APC、第三方的eAccelerator(基于MMCache)和XCache(以上三款都是免費的)、商業(yè)的ZendPlatform(基于ZendPerormanceSuite/ZendWinEnabler,PHP代碼加速和緩存結合了ZendAccelerator和ZendCache)和ionCubeAccelerator。其中官方的APC穩(wěn)定性和功能都還不錯,目前在Qzone校友等項目中使用,eAccelerator在sina很多項目和QQ會員中使用,ZendPlatform在百度。PHP的加速主要包括:PHP文件的編譯,這個過程中把PHP程序中include/require的程序連接進來、常量/宏替換、代碼優(yōu)化合并等等,最后編譯成二進制中間碼opcodePHPopcode的Cache,這里大部分加速器都可以支持,將內容Cache到物理內存,超過限額也會cache到服務器本地文件。PHP程序動態(tài)內容輸出的Cache,這個功能僅在ZendPlatform里支持,可以單獨設置對某個目錄/文件的內容輸出進行Cache(請求的方式GET/POST等以及Cache時間、掃描文件變更時間都可以設置)PHP:高級優(yōu)化PHP的FATMM:改造了PHPZendMM內存管理機制,將小塊內存申請調用,變?yōu)槌跏蓟暾埓髩K內存,在使用時,直接從預先申請的內存里分配空間。大塊內存不夠時,可動態(tài)申請,并動態(tài)管理大塊內存.其中需要改造PHP源碼,使用補丁方式,替換ZENDAPI里,_emalloc,_free等函數(shù),改補丁由Facebook開發(fā)維護.目前在Qzone校友等項目中使用。HipHopforPHP:實現(xiàn)了將PHP代碼轉換為高品質C++代碼,然后用G++編譯成可執(zhí)行的二進制文件,從而大幅減少服務器CPU和內存消耗實現(xiàn)了PHP的跨請求持久化對象,將進程內存變?yōu)槎嗑€程共享內存,極大減少了內存占用。采用了類似FatMM的機制,避免了頻繁的malloc和free,可設置固定大小的setFacebook已經(jīng)有90%的項目使用,同等流量下Web服務器的CPU消耗減少50%、API服務器的CPU消耗減少60%PHP:其他高級優(yōu)化PHCPHPOpenSourceCompile:2005年愛爾蘭TrinityCollegeofDublin的EdskodeVries和JohnGilbert創(chuàng)立,隨后同學PaulBiggar加入RoadSandPHPCompiler(pcc):支持將PHP代碼編譯成獨立運行的二進制文件,可以將PHP編譯成Fast/CGI形式的Web程序、內嵌webserver(MicroServer)形式的離線Web應用、使用PHP-GTK的桌面圖形界面應用、以及控制臺應用軟件RoadSandRaven(rphp):功能要點:高度優(yōu)化、JIT或靜態(tài)編譯原生二進制(通過LLVM)、PHP代碼分級分析和優(yōu)化、高級診斷和錯誤信息、模塊化設計、干凈簡潔的runtime和擴展API、完整的unicode支持、可移植性、高速和安全PHP:生產(chǎn)管理系統(tǒng)Web服務器生產(chǎn)管理系統(tǒng):ZendPlatform擴展性能穩(wěn)定
實時代碼優(yōu)化代碼加速與預編譯完善的緩存解決方案下載優(yōu)化與加速自帶性能測試及分析系統(tǒng)
支持Session數(shù)據(jù)跨服務器中心控制臺與生產(chǎn)節(jié)點相結合的管理模式事件聚合功能PHP配置的克隆
基于Web頁面的管理平臺實時的監(jiān)控系統(tǒng),PHP智能組件實時的腳本效率與運行性能監(jiān)控報告并跟蹤實時錯誤保存數(shù)據(jù)現(xiàn)場(重現(xiàn)錯誤并保留完整的錯誤文檔
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 羽毛球場館運營管理制度
- 融合餐廳運營管理制度
- 2026福建廈門市翔安投資集團有限公司招聘2人備考題庫(第一期)及完整答案詳解
- 甜品店生產(chǎn)運營管理制度
- 中鐵廣州局2026屆校園招聘備考題庫及答案詳解(奪冠系列)
- 2026福建省融資擔保有限責任公司社會招聘3人備考題庫及答案詳解1套
- 遼寧科技大學2026年招聘高層次和急需緊缺人才102人備考題庫及答案詳解(易錯題)
- 2026重慶忠縣疾病預防控制中心招聘專業(yè)車輛駕駛員1人備考題庫及1套完整答案詳解
- 2026河南投資集團社會招聘管理人員備考題庫完整參考答案詳解
- 2026浙江溫州市洞頭人才發(fā)展有限公司招聘1人備考題庫(食堂勤雜員)及答案詳解(奪冠系列)
- (2025)事業(yè)單位考試(面試)試題與答案
- CNAS-GC25-2023 服務認證機構認證業(yè)務范圍及能力管理實施指南
- 入伍智力測試題及答案
- 竣工驗收方案模板
- 企業(yè)安全生產(chǎn)內業(yè)資料全套范本
- 安全生產(chǎn)標準化與安全文化建設的關系
- DL-T5054-2016火力發(fā)電廠汽水管道設計規(guī)范
- 耳部刮痧治療
- 神經(jīng)外科介入神經(jīng)放射治療技術操作規(guī)范2023版
- 多模態(tài)數(shù)據(jù)的聯(lián)合增強技術
- 濱海事業(yè)單位招聘2023年考試真題及答案解析1
評論
0/150
提交評論