服務(wù)器架構(gòu)之性能擴展-第一章(2) |
發(fā)布時間: 2012/9/16 1:39:30 |
隨著網(wǎng)站運營時間的增長,用戶量、數(shù)據(jù)量和訪問量都在不斷地增長,于是大的訪問量、大的存儲量和大的數(shù)據(jù)量,大的負載和網(wǎng)絡(luò)環(huán)境快速部署都會出現(xiàn)。于是網(wǎng)站運營問題可以總結(jié)為一下四點: <!--[if !supportLists]-->1.<!--[endif]-->大的訪問量 <!--[if !supportLists]-->2.<!--[endif]-->大的存儲量 <!--[if !supportLists]-->3.<!--[endif]-->訪問速度 <!--[if !supportLists]-->4.<!--[endif]-->服務(wù)器監(jiān)控 <!--[if !supportLists]-->5.<!--[endif]-->網(wǎng)絡(luò)環(huán)境的快速部署
1.1、大的訪問量:解決方案:負載均衡和冗余技術(shù)。 負載均衡:讓網(wǎng)絡(luò)服務(wù)器的壓力均衡到不同的設(shè)備。 負載均衡技術(shù)方案:Cisco以太網(wǎng)通道,windows的NLB技術(shù),linux的lvs技術(shù)和F5等負載均衡器 Linux的LVS方案:
冗余技術(shù)方案:Cisco HSRP熱備份路由,windows集群技術(shù),linux的HA技術(shù),IBM的AIX技術(shù)。 冗余技術(shù):避免出現(xiàn)單點故障,實現(xiàn)故障切換,由此引申出集群技術(shù)。 集群就是指將多個服務(wù)器集中起來一起同時的進行同一種服務(wù),在客戶看來只有一個服務(wù)器工作。 集群的特點:只有一臺服務(wù)器提供服務(wù),其他的服務(wù)器處于休眠狀態(tài),如果這臺服務(wù)器出現(xiàn)問題,其他的服務(wù)器將被激活,保證服務(wù)的不間斷性。只有負載均衡和冗余技術(shù)結(jié)合在一起,才能真正達到超級計算機功能。 1.2 大數(shù)據(jù)存儲主流數(shù)據(jù)庫類型:Mysql(中小型數(shù)據(jù)庫),oracle(甲骨文公司),DB2(IBM大型數(shù)據(jù)庫),Nosql(非關(guān)系型數(shù)據(jù)庫,目前很火)。 對于大數(shù)據(jù)存儲我們一般可以使用主從復(fù)制和分區(qū)分表技術(shù)來解決。 Mysql主從復(fù)制原理圖:Binary log:記錄數(shù)據(jù)的增刪改日志,不記錄查詢服務(wù)。通過日志進行數(shù)據(jù)的同步。
Mysql還有另外一種擴展方式,Mysql讀取小表的速度更快。于是就引入了分表的概念,分表分為垂直分表和水平分表,一般遇到最多的還是水平分表,mysql5.1引進了分區(qū)分表技術(shù)。分區(qū)分表是不改變表名,將表切成不同分區(qū)。 下面引入一種非關(guān)系型數(shù)據(jù)mongoDB,最近很火。
MongoDB是一個機遇分布式文件存儲的數(shù)據(jù)庫,有C++語言編寫,是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)之間的產(chǎn)品。它最大的特點是支持的查詢語言非常強大,幾乎可以完成類似關(guān)系數(shù)據(jù)的絕大部分操作,還支持對數(shù)據(jù)庫建立索引。 1.3 網(wǎng)站加速技術(shù):目前主要實現(xiàn)方案:Squid代理緩存技術(shù),頁面靜態(tài)化緩存,Memcache和Sphinx搜索加速。 Squid可以實現(xiàn)緩存代理和數(shù)據(jù)的動靜分離,將靜態(tài)數(shù)據(jù)存儲起來,只有需要請求服務(wù)器的文件才到真正的服務(wù)器上去讀取,大大提高訪問速度。
頁面靜態(tài)化:主要是通過模版實現(xiàn),如Thinkphp,Brophp,smarty模版等。 Memcache:是一個高性能的分布式的內(nèi)存對象緩存系統(tǒng),通過在內(nèi)存里維護一個統(tǒng)一巨大的hash表,它能存儲各種格式的數(shù)據(jù),包括圖像、視頻、文件等。簡單的說,就是講數(shù)據(jù)調(diào)用到內(nèi)存中,然后從內(nèi)存讀取數(shù)據(jù),從而大大提高讀取速度。 缺點:遇到斷電,服務(wù)器宕機,會造成數(shù)據(jù)的丟失。尤其是對于網(wǎng)站數(shù)據(jù)重要性高的網(wǎng)站不適合。 Sphinx全文檢索:sphinx是一個機遇SQL的全文檢索引擎,可以結(jié)合Mysql,PostgreSQL做全文檢索,他可以提供比數(shù)據(jù)本身更專業(yè)的搜索功能,使得應(yīng)用程序更容易實現(xiàn)專業(yè)化的全文檢索。Sphinx單一索引,最大可以包含1億條記錄,全文檢索速度1000萬條只需3-4分鐘,創(chuàng)建1000萬條索引在50分鐘完成。<!--[endif]-->
1.4服務(wù)監(jiān)控: apache服務(wù)監(jiān)控,mysql服務(wù)監(jiān)控,磁盤空間監(jiān)控,流量監(jiān)控。
警報:郵件警報,Postfix發(fā)郵件系統(tǒng),sendmail發(fā)郵件系統(tǒng)和dovecot收郵件系統(tǒng)。電子郵件發(fā)是由SMTP(25端口),收郵件是由POP3協(xié)議(110端口)完成的。
1.5網(wǎng)絡(luò)環(huán)境的快速部署網(wǎng)絡(luò)環(huán)境的快速部署變得越來越容易,在快速部署中如果可以用主機管理面板,這樣對于主機的管理變得越來越方便。 Windows可以使用plesk面板,linux可以使用cpanel面板。 1.6 壓力測試工具:Apache壓力測試軟件ab,是由httpd-2.2.3-43.e15.centos軟件提供,可能要創(chuàng)建很多文件然后刪除。 Mysql壓力測試:mysql5.1.4開始帶有一個壓力測試工具mysqlslap,通過模擬多個并發(fā)客戶端訪問mysql來進行測試。 億恩-天使(QQ:530997) 電話 037160135991 服務(wù)器租用,托管歡迎咨詢。
本文出自:億恩科技【www.cmtents.com】 服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |