- 論壇徽章:
- 0
|
數(shù)據(jù)庫位于現(xiàn)代企業(yè)應用的核心,它儲存了組織機構(gòu)中最有價值的資產(chǎn),包括客戶信息、產(chǎn)品信息、訂單信息和歷史數(shù)據(jù)。另外,組織機構(gòu)依賴于數(shù)據(jù)庫來運行他們關鍵業(yè)務應用。幾小時甚至是幾分鐘的宕機,往往會造成收入的大量流失和客戶的不滿。因此,保證數(shù)據(jù)庫高可用是所有組織機構(gòu)優(yōu)先考慮的事情。對于希望在當今瞬息萬變的經(jīng)濟環(huán)境立于不敗之地并取得成功的企業(yè)來說,構(gòu)建一個具有高可用性的 IT 基礎架構(gòu)至關重要。
本期話題:
MYSQL高可用性案例精講
實現(xiàn)MYSQL高可用性的方案有很多,有簡單,也有復雜,各有各的特點。方案本身并不重要。本次訪談的目的是希望大家通過嘉賓的講解,了解實現(xiàn)高可用性的技術(shù)途徑以及系統(tǒng)性能優(yōu)化方法。從而為用戶提供具有24×7 正常工作時間特點的系統(tǒng)。方案僅供參考。沒有最好的,只有最適合的。希望大家通過本次訪談活動能各有收獲。
嘉賓:
李祿偉.jpg (25.43 KB, 下載次數(shù): 83)
下載附件
2009-02-20 13:23 上傳
李祿偉,現(xiàn)任康盛創(chuàng)想系統(tǒng)技術(shù)支持部經(jīng)理,有豐富的 Unix/Linux 系統(tǒng)架構(gòu)研究經(jīng)驗。負責康盛創(chuàng)想公司業(yè)務系統(tǒng)層維護以及項目設計部署。致力于研究、優(yōu)化互聯(lián)網(wǎng)社區(qū)應用系統(tǒng)架構(gòu),對 L.A.M.P 體系架構(gòu)有著豐富的經(jīng)驗,挖掘 L.A.M.P 架構(gòu)的性能潛力,同時致力于探索新型高效能的互聯(lián)網(wǎng)社區(qū)系統(tǒng)支撐平臺以及系統(tǒng)集群。
成功設計并設施以下系統(tǒng)項目:
央視國際•北京 2008 奧運央視網(wǎng)絡社區(qū)
湖南衛(wèi)視•快樂男聲官方社區(qū)
中國移動•移動夢網(wǎng)社區(qū)
嘉賓分享的內(nèi)容介紹:
1. 系統(tǒng)項目經(jīng)驗 - bbs.55bbs.com
1.1 項目特點:
1.1.1 論壇活躍度高 ( 1.5 - 2 貼/秒 );
1.1.2 在線瀏覽人數(shù)多 ( 1000 萬 PV/日、6 萬人在線 );
1.1.3 數(shù)據(jù)庫查詢頻繁,高并發(fā)量 ( 3000+ 次/秒/臺 );
1.1.4 業(yè)務要求高可用性,在線生產(chǎn)數(shù)據(jù)庫要求 7 * 24;
1.2 實施經(jīng)驗:
1.2.1 在著手進行實施改造之前做大量的前期分析工作,盡量確保收集到準確全面的性能問題點。
在論壇社區(qū)應用領域中,尤其對于大型論壇而言,幾乎每個論壇都有自己獨特的問題類型;
1.2.2 使用了大量數(shù)據(jù)庫緩存技術(shù):文件緩存、帖子緩存、memcached 緩存;
1.2.3 數(shù)據(jù)庫使用分布式部署,將一些耗費資源的功能分布到不同的數(shù)據(jù)庫服務器中,同時保證
各個數(shù)據(jù)庫服務器中的數(shù)據(jù)高度一致;
1.2.4 使用 MySQL 分區(qū)技術(shù)有效解決數(shù)據(jù)表體積過大帶來的性能降低;
1.2.5 全面仔細的評估所需的硬件資源,避免造成不必要的硬件成本浪費;
2. 實現(xiàn)高可用性的技術(shù)途徑以及系統(tǒng)性能優(yōu)化方法
2.1 硬件資源以及操作系統(tǒng)的準備
2.1.1 MySQL 是一個存儲 I/O 密集型應用;
2.1.2 充足的內(nèi)存是保證 MySQL 穩(wěn)定高性能的重要條件;
2.1.3 在 MySQL 集群體系的規(guī)劃中,盡量保證各服務器的硬件配置一致性;
2.1.4 在 MySQL 集群體系的規(guī)劃中,盡量使用高速專用網(wǎng)絡作為傳輸介質(zhì),降低延時;
2.1.5 盡量選擇 64 位 Unix/Linux 操作系統(tǒng)作為應用平臺;
2.2 MySQL 版本選擇
2.2.1 在保證穩(wěn)定的前提下盡量選擇高版本 MySQL;
2.2.2 可以選擇 ICC 編譯器構(gòu)建的 MySQL 版本,極端情況下可根據(jù)需要自行從源代碼編譯 MySQL;
2.2.3 避免激進,如果 ChangeLog 中未列出關鍵性更新,則盡量選擇保持現(xiàn)有版本,規(guī)避可能存在的風險;
2.3 應用程序(PHP)對于 MySQL 的優(yōu)化
2.3.1 MySQL - 數(shù)據(jù)存儲引擎,明確數(shù)據(jù)庫應用的角色,不要將其作為數(shù)據(jù)處理運算中心;
2.3.2 根據(jù)需求靈活適當?shù)倪x擇數(shù)據(jù)表類型(MyISAM、HEAP、InnoDB);
2.3.3 合理規(guī)劃數(shù)據(jù)庫結(jié)構(gòu),以及數(shù)據(jù)索引;
2.3.4 盡量不要讓 MySQL 處理數(shù)據(jù)運算操作,運算操作可交由前端程序進行處理;
2.3.5 評估每一條查詢語句的執(zhí)行效能,尤其是在重負載下可能帶來的性能降低(leftjoin 拆分);
2.3.6 程序設計當中,注重緩存的使用,盡量將需要頻繁查詢的數(shù)據(jù)緩存在外部(文件、BDB、Memcached);
2.4 MySQL 自身優(yōu)化
2.4.1 MySQL 應用服務優(yōu)化的依據(jù)不是人云亦云,而是對當前數(shù)據(jù)庫進行長期不斷的運行狀態(tài)分析
得出的數(shù)據(jù),這才是最真實,最準確,最有用的優(yōu)化依據(jù),要明白為什么優(yōu)化,優(yōu)化什么;
2.4.2 使用 MySQL 狀態(tài)監(jiān)測工具以及監(jiān)控平臺對 MySQL 運行狀態(tài)進行長期監(jiān)測,一方面發(fā)現(xiàn)問題,
另一方面能夠得到寶貴的變化趨勢分析;
2.4.3 經(jīng)常查看 MySQL 日志,發(fā)現(xiàn)隱含的問題,修復數(shù)據(jù)庫、索引,優(yōu)化數(shù)據(jù)表;
2.4.4 數(shù)據(jù)庫體積日益增大的情況下,提早準備好應對方案(分表、分區(qū)、歸檔等等);
2.4.5 my.cnf 中各個參數(shù)的優(yōu)化,熟讀手冊,明確各個參數(shù)的含義,不要人云亦云(query_cache);
2.4.6 MySQL 的優(yōu)化是個不斷進行的過程,不存在一勞永逸的優(yōu)化方案;
2.5 MySQL 數(shù)據(jù)安全性保障
2.5.1 數(shù)據(jù)庫/服務器的損壞是個必然的結(jié)果,只是時間問題;
2.5.2 在數(shù)據(jù)庫建立初期,就要設計并部署好一套優(yōu)良的備份方案,最大程度保障數(shù)據(jù)的安全性;
2.5.2.1 非關鍵性應用?可以考慮用短暫的停機時間換取安全可靠的備份數(shù)據(jù);
2.5.2.2 關鍵性應用?可以通過增加設備的方式換取 7 * 24 的運行狀態(tài),同時安全的備份數(shù)據(jù);
2.5.3 盡量對數(shù)據(jù)庫備份保留 3 天甚至更長的備份;
2.5.4 定期驗證備份的有效性;
2.5.5 提前制訂當災難發(fā)生時的恢復/回滾策略;
zx.jpg (3.52 KB, 下載次數(shù): 75)
下載附件
2009-04-29 16:03 上傳
嘉賓:
張翔,現(xiàn)任上海愛可生信息技術(shù)有限公司技術(shù)部經(jīng)理,擁有MySQL DBA全球認證,負責公司主要客戶的項目部署與實施。致力于研究MySQL的HA架構(gòu)和MySQL的數(shù)據(jù)庫優(yōu)化策略,對數(shù)據(jù)庫的架構(gòu)部署、優(yōu)化維護、安全管理有豐富的經(jīng)驗。
視頻訪談地址:http://publish.itpub.net/focus/200903/mysql331/index.html
[ 本帖最后由 圖騰部落 于 2009-4-29 16:03 編輯 ] |
|