nginx完美架構(gòu)方案.doc_第1頁(yè)
nginx完美架構(gòu)方案.doc_第2頁(yè)
nginx完美架構(gòu)方案.doc_第3頁(yè)
nginx完美架構(gòu)方案.doc_第4頁(yè)
nginx完美架構(gòu)方案.doc_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

北京聞康集團(tuán)有問(wèn)必答架構(gòu)調(diào)整方案及實(shí)施過(guò)程(高性能WEB系統(tǒng)) 侯在存 2010年12月第1章 調(diào)整方案概述1.1 總體概述項(xiàng)目目的出現(xiàn)災(zāi)難迅速恢復(fù),讓服務(wù)器的對(duì)外提供達(dá)到99.9%.項(xiàng)目負(fù)責(zé)人侯在存涉及機(jī)房三元橋 東四 廊坊涉及設(shè)備DELL R710 2950預(yù)計(jì)時(shí)間六個(gè)月項(xiàng)目階段1.數(shù)據(jù)庫(kù)應(yīng)用分離 2.nginx對(duì)apache的替換3.增加memcache需增設(shè)備2臺(tái) DELL 服務(wù)器 和 部分內(nèi)存條(現(xiàn)有一臺(tái)空閑服務(wù)器)項(xiàng)目簡(jiǎn)述: 項(xiàng)目前:club服務(wù)器有5臺(tái)名字分 ,每臺(tái)服務(wù)器跑的是AMP+nginx反向代理和負(fù)載均衡+DNS輪詢及rsync程序同步,其中的mysql都是從的(讀的數(shù)據(jù)庫(kù)), 另外還有一臺(tái)是主數(shù)據(jù)198(寫(xiě)的)+ 一臺(tái)備份數(shù)據(jù)庫(kù)做冗余205(且分擔(dān)蜘蛛抓取)。注:c1 c2 在三元橋 c3 c4在廊坊 c5在東單 項(xiàng)目后:三元橋的C1C2和新增的1臺(tái)服務(wù)器承擔(dān)所有的訪問(wèn),c3 c4 c5不對(duì)外提供訪問(wèn),做 c1 c2服務(wù)器 出現(xiàn)問(wèn)題時(shí)的恢復(fù)冗余機(jī)和蜘蛛抓取承擔(dān), 所有的mysql也停用做冗余用,增加一臺(tái)讀的數(shù)據(jù)庫(kù)讓 club服務(wù)器的讀數(shù)據(jù)庫(kù)都改到這臺(tái)服務(wù)器上,原來(lái)的198不變但需要增加內(nèi)存。例外+一臺(tái)讀寫(xiě)數(shù)據(jù)庫(kù)服務(wù)器的同步冗余機(jī),從而實(shí)現(xiàn)服務(wù)器出現(xiàn)大災(zāi)難2小時(shí)內(nèi)解決,小災(zāi)難半小時(shí)解決,讓服務(wù)器的對(duì)外提供達(dá)到99.9%.注:nginx+phpcgi代替amp 及對(duì)c1 c2 的優(yōu)化可以使三元橋WEB承載所有的訪問(wèn)。項(xiàng)目影響:由于本次將服務(wù)器的web服務(wù)替換,ssi和rewrite規(guī)則支持不一樣,業(yè)務(wù)可能會(huì)中斷,需某周5到-周日的修改。第2章 調(diào)整前結(jié)構(gòu)分析2.1 CLUB架構(gòu)現(xiàn)狀2.1.1 CLUB架構(gòu)現(xiàn)狀拓?fù)淙鐖D所示:C1-C5 分別是nginx反向代理+AMP 環(huán)境且mysql 都是讀的數(shù)據(jù)與198主的寫(xiě)的數(shù)據(jù)同步,C1是rsync主的程序同步其余C2-C5是從的。205是備份服務(wù)器,備份程序和數(shù)據(jù)負(fù)載蜘蛛的抓取。2.1.2 CLUB現(xiàn)在訪問(wèn)關(guān)系注:每臺(tái)nginx還轉(zhuǎn)到后端其他AMP,1%的流量,rsync的連接線沒(méi)畫(huà)第3章 第一階數(shù)據(jù)庫(kù)應(yīng)用分離3.1 110獨(dú)立DB服務(wù)器搭建(空閑的那臺(tái)服務(wù)器)3.1.1 裝系統(tǒng)及簡(jiǎn)單優(yōu)化1. 裝系統(tǒng)的步驟省略 2. 優(yōu)化開(kāi)機(jī)啟動(dòng)服務(wù) 裝的是centos系統(tǒng),裝完后首先優(yōu)化開(kāi)機(jī)啟動(dòng)服務(wù)的。Setup-系統(tǒng)服務(wù):把不需要的服務(wù)全部關(guān)閉。3.1.2 mysql的搭建rootlocalhost houzc# wget /mysql/MySQL-5.0/mysql-5.0.89.tar.gzrootlocalhost houzc# tar -zxvf mysql-5.0.89.tar.gz -C /usr/local/src/ rootlocalhost houzc# cd /usr/local/src/mysql-5.0.89/rootlocalhost mysql-5.0.89# useradd mysql -M -s /sbin/nologinrootlocalhost mysql-5.0.89#yum -y install libtermcap-devel rootlocalhostmysql-5.0.89#./configure -prefix=/usr/local/mysql-5.0.89/ -with-unix-socket-path=/tmp/mysql.sock -localstatedir=/usr/local/mysql-5.0.89/data -without-debug /去除debug模式-enable-thread-safe-client /以線程方式編譯客戶端-enable-assembler /使用一些字符函數(shù)的匯編版本-enable-profiling /編譯一個(gè)版本帶有查詢?nèi)哟a-enable-community-features /停用附加功能提供的用戶社區(qū)-with-mysqld-ldflags=-all-static / 以純靜態(tài)方式編譯服務(wù)端-with-client-ldflags=-all-static / 以純靜態(tài)方式編譯客戶端 -with-charset=latin1 /默認(rèn)編碼拉丁文-with-extra-charset=utf8,gbk /支持編碼的格式-with-innodb /支持innodb表-with-scv-storage-engine /使用SCV存儲(chǔ)引擎-with-mysqld-user=mysql /mysqld的守護(hù)進(jìn)程用戶-without-embedded-server /構(gòu)建嵌入式服務(wù)器-with-server-suffix=-community /附加價(jià)值版本的字符串rootlocalhost mysql-5.0.89# makerootlocalhost mysql-5.0.89# make installrootlocalhost mysql-5.0.89# ./scripts/mysql_install_db rootlocalhost mysql-5.0.89# cp support-files/f /etc/f -fvrootlocalhost mysql-5.0.89#chown -R root:mysql /usr/local/mysql-5.0.89/rootlocalhost mysql-5.0.89# chown -R mysql.mysql /usr/local/mysql-5.0.89/data/ rootlocalhost mysql-5.0.89# cd /usr/local/mysql-5.0.89/libexec/rootlocalhost libexec# cp mysql mysql.oldrootlocalhost libexec# strip mysqldrootlocalhost libexec# echo /usr/local/mysql-5.0.89/lib/mysql/ /etc/ld.so.confrootlocalhost libexec# ldconfig rootlocalhost libexec# /usr/local/mysql-5.0.89/bin/mysqld_safe &rootlocalhost libexec#ps -ef | grep mysql 驗(yàn)證是否成功開(kāi)啟mysql rootlocalhost libexec#/usr/local/mysql-5.0.89/bin/mysqladmin -u root password youpasswordrootlocalhost libexec#/usr/local/mysql-5.0.89/bin/mysql -u root -pEnter password: (輸入youpassword密碼) mysql show databases;+-+| Database |+-+| information_schema | | mysql | | test | +-+3 rows in set (0.00 sec)mysql quit;rootlocalhost libexec#vi /etc/rc.local /usr/local/mysql-5.0.89/bin/mysqld_safe &/平滑關(guān)閉 mysqld :rootlocalhost data# /usr/local/mysql-5.0.89/bin/mysqladmin -u root -p shutdown Enter password: (輸入youpassword密碼)這樣mysql服務(wù)就裝完了。3.1.3 mysql的優(yōu)化1. 編譯時(shí)的優(yōu)化-static 13% -with-client-ldflags=-all-static -with-mysqld-ldflags=-all-static靜態(tài)鏈接提高13%性能 -pgcc 1% CFLAGS=-O3 -mpentiumpro -mstack-align-double CXX=gcc CXXFLAGS=-O3 -mpentiumpro -mstack-align-double -felide-constructors -fno-exceptions -fno-rtti 如果是Inter處理器,使用pgcc提高1%性能 Unix Socket 7.5% -with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock使用unix套接字鏈接提高7.5%性能 -enable-assembler size=-1允許使用匯編模式(優(yōu)化性能)2. 優(yōu)化遠(yuǎn)程連接skip-name-resolve選項(xiàng)就能禁用DNS解析,連接速度會(huì)快很多。不過(guò),這樣的話就不能在MySQL的授權(quán)表中使用主機(jī)名了而只能用ip格式。設(shè)置連接數(shù)set-variable = max_connections=1000設(shè)置連接數(shù),mysql默認(rèn)的連接數(shù)是100,太少了.3. 開(kāi)啟緩存機(jī)制skip-locking#取消文件系統(tǒng)的外部鎖key_buffer = 12288M #索引緩存,根據(jù)內(nèi)存大小而定,如果是獨(dú)立的db服務(wù)器,可以設(shè)置高達(dá)80%的內(nèi)存總量 #連接排隊(duì)列表總數(shù)back_log = 200max_allowed_packet = 10M #打開(kāi)表緩存總數(shù),可以避免頻繁的打開(kāi)數(shù)據(jù)表產(chǎn)生的開(kāi)銷 table_cache = 512#每個(gè)線程排序所需的緩沖 sort_buffer_size = 16M#MyISAM表發(fā)生變化時(shí)重新排序所需的緩沖 myisam_sort_buffer_size = 64M #緩存可重用的線程數(shù) thread_cache = 128 #查詢結(jié)果緩存 query_cache_size = 128M #設(shè)置超時(shí)時(shí)間,能避免長(zhǎng)連接 set-variable = wait_timeout=60 #最大并發(fā)線程數(shù),cpu數(shù)量*2 thread_concurrency = 16#記錄慢查詢,然后對(duì)慢查詢一一優(yōu)化log-slow-queries=/usr/local/

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論