emu in blogjava
BlogJava
::
首頁
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
::
171 隨筆 :: 103 文章 :: 1052 評論 :: 2 Trackbacks
<
2016年2月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
1
2
3
4
5
6
7
8
9
10
11
12
公告
專心AJAX......
author:emu(黃希彤)
author:emu(黃希彤)
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(92)
給我留言
查看公開留言
查看私人留言
隨筆分類
(20)
Groovy 學(xué)習(xí)筆記(4)
(rss)
web優(yōu)化(16)
(rss)
隨筆檔案
(171)
2019年10月 (1)
2019年1月 (1)
2017年6月 (1)
2016年2月 (2)
2014年11月 (1)
2014年9月 (1)
2012年10月 (1)
2012年8月 (1)
2012年1月 (1)
2011年12月 (1)
2011年9月 (1)
2011年8月 (3)
2011年7月 (2)
2011年6月 (2)
2011年2月 (1)
2011年1月 (1)
2010年12月 (1)
2010年9月 (1)
2010年6月 (2)
2010年4月 (1)
2010年3月 (2)
2010年2月 (2)
2010年1月 (2)
2009年10月 (2)
2009年8月 (1)
2009年5月 (2)
2009年1月 (2)
2008年5月 (2)
2008年4月 (2)
2008年3月 (1)
2008年2月 (1)
2008年1月 (3)
2007年11月 (1)
2007年8月 (4)
2007年7月 (3)
2007年6月 (3)
2007年5月 (5)
2007年4月 (1)
2007年3月 (1)
2007年2月 (1)
2007年1月 (2)
2006年12月 (2)
2006年11月 (3)
2006年10月 (3)
2006年9月 (1)
2006年8月 (2)
2006年7月 (2)
2006年6月 (2)
2006年5月 (2)
2006年4月 (1)
2006年3月 (10)
2006年2月 (8)
2006年1月 (8)
2005年12月 (4)
2005年11月 (7)
2005年10月 (1)
2005年9月 (6)
2005年8月 (4)
2005年7月 (7)
2005年6月 (21)
2005年5月 (8)
文章分類
(89)
DHTML和JAVASCRIPT 技術(shù)(31)
(rss)
google編程大賽模擬題及入圍賽真題(34)
(rss)
java技術(shù)(9)
(rss)
測試技術(shù)(7)
(rss)
項(xiàng)目開發(fā)(8)
(rss)
文章檔案
(103)
2012年9月 (1)
2010年8月 (1)
2010年1月 (4)
2009年12月 (1)
2009年9月 (2)
2009年8月 (1)
2007年11月 (1)
2007年8月 (1)
2007年7月 (1)
2007年1月 (1)
2006年10月 (1)
2006年9月 (4)
2006年8月 (8)
2006年7月 (3)
2006年4月 (1)
2006年2月 (4)
2005年12月 (19)
2005年11月 (1)
2005年8月 (13)
2005年5月 (35)
相冊
screenshot
收藏夾
(46)
收藏(46)
(rss)
友情連接
skchen
twinsen
(rss)
卡昂寺
妙乘光明海
妙蓮樂地
收藏
搜索
積分與排名
積分 - 724370
排名 - 63
最新評論
1.?re: Groovy 學(xué)習(xí)筆記3 運(yùn)行效率
使用@CompileStatic,
性能會好一些
--良好市民
2.?re: 大家好像都比較少關(guān)心webcrypto,試試寫個簡單的sha1/sha256/sha384/sha512實(shí)現(xiàn)看看[未登錄]
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--emu
3.?re: 自作聰明的junit.swingui.TestRunner
我也遇到了log4j錯誤問題,但是通過刪除其中一個jar包中加載的log4j就解決了,不過樓主分析的很好
--yqbjtu
4.?re: jq的getScript函數(shù)不支持chaset?override掉!
學(xué)習(xí)了,支持一下。
--歌詞網(wǎng)站
5.?re: emu的GBK編碼
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--dfs
6.?re: 據(jù)說能在IE6下使用的base64圖片
CAO NI MEI ,,SHEN ME J B PO WANGYIER
--SS
7.?re: IE8下對cookie的限制。[未登錄]
123
--123
8.?re: emu的簡繁互轉(zhuǎn)腳本[未登錄]
狝玙??
--豆豆
9.?re: 差點(diǎn)被燕潘考倒了
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--meteoric_cry
10.?re: 偶然發(fā)現(xiàn)7年前受到的offer。7年,一晃而過
不錯,有很好的成績。不過時間有點(diǎn)長。
--龍銘洪
11.?re: 在javascript中用command 模式實(shí)現(xiàn)undo和redo
如果有解決的辦法 請您聯(lián)系下我啊 我很急 32227304 郵箱QQ都可以 謝謝
--帝君
12.?re: 在javascript中用command 模式實(shí)現(xiàn)undo和redo
樓主我想問下啊 你這個代碼 在文本域輸入內(nèi)容的時候 如果不失去焦點(diǎn)就無法進(jìn)行撤銷啊 有沒有什么辦法解決呢
--帝君
13.?re: 下周一國際盲人節(jié),查了一下網(wǎng)上的盲文資料寫了一個把中文轉(zhuǎn)換成盲文的腳本玩玩。
不知道讀音相同的字詞,盲人是如何區(qū)分的。
--renmin
14.?re: UserData 管理器和IE一個相關(guān)的bug
鵝鵝鵝熱熱
--張一凡
15.?re: java版本的escape和unescape函數(shù) [未登錄]
這個的確可以用,太謝謝樓主了,幫了我大忙啊,謝謝
--冬日的陽光
16.?re: 差點(diǎn)被燕潘考倒了
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--emu
17.?re: IE傻呼呼的
所得稅的
--企鵝請問請問
18.?re: 分域名優(yōu)化的時候要考慮備選IP的問題
對于"因此分域名下載不能簡單的絕對化的看待,要看實(shí)際應(yīng)用場景做決定"這句,上海股票開戶網(wǎng)是絕對贊同啊呼!
--上海股票開戶
19.?re: 走向而立之年
做了3年的技術(shù),發(fā)現(xiàn)自己還是什么都不會...
快三十了,緊張。
--lizhi
20.?re: apache返回Request header field is missing ':' separator
請問一下,我沒有安裝Nod32,怎么也是出現(xiàn)這個問題。
--lizhi
閱讀排行榜
1.?定位到了IE報告“存儲空間不足,無法完成此操作”的原因。(18285)
2.?IE下對文件(圖片)進(jìn)行base64轉(zhuǎn)換(13409)
3.?AJAX案例研究之Gmail (13376)
4.?json的例子(10777)
5.?終于盼到了,firefox支持sessionStorage了(9198)
6.?做了兩個月ajax,總結(jié)一些小經(jīng)驗(yàn)(8722)
7.?你的編程語言可以這樣做嗎?(map/reduce的js示范,emu翻譯整理)(8682)
8.?下周一國際盲人節(jié),查了一下網(wǎng)上的盲文資料寫了一個把中文轉(zhuǎn)換成盲文的腳本玩玩。(8444)
9.?在javascript中用command模式模擬多線程(6790)
10.?Groovy 學(xué)習(xí)筆記3 運(yùn)行效率 (6234)
評論排行榜
1.?定位到了IE報告“存儲空間不足,無法完成此操作”的原因。(41)
2.?關(guān)于方舟子的爭論 (36)
3.?AJAX案例研究之Gmail (35)
4.?在javascript中用command模式模擬多線程(34)
5.?走向而立之年(24)
6.?json的例子(23)
7.?終于盼到了,firefox支持sessionStorage了(20)
8.?今天給兄弟部門總結(jié)的幾點(diǎn)關(guān)于ajax的建議,公開出來分享一下。(18)
9.?做了兩個月ajax,總結(jié)一些小經(jīng)驗(yàn)(18)
10.?百度就知道吹(14)
用騰訊云優(yōu)化一個公益論壇
@import url(http://www.aygfsteel.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://www.aygfsteel.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://www.aygfsteel.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
〇、背景
幾年前由于發(fā)起尋親項(xiàng)目的關(guān)系,和B網(wǎng)站開展了合作。B網(wǎng)站是國內(nèi)最大的尋親網(wǎng)站,幾年來通過該網(wǎng)站和家人團(tuán)聚的案例已經(jīng)達(dá)到1397例。B論壇是網(wǎng)站中最活躍的板塊。當(dāng)時論壇遇到一些不穩(wěn)定的情況,因?yàn)锽論壇是用Discuz!搭建的,而Discuz!當(dāng)時剛好被騰訊收購,要獲得專業(yè)支持相對容易,我們開始把B論壇遷移到騰訊云上面,由Discuz!的志愿者協(xié)助維護(hù)直到去年底離職,把論壇的管理權(quán)限交給我。
一、論壇出問題了
我不對于php和linux都不熟,交接后看到論壇工作還算正常,也很長一段時間沒有去關(guān)注,直到前幾天,網(wǎng)站管理員突然發(fā)來了這個:
這是什么鬼?臣妾不懂啊……只好硬著頭皮登上服務(wù)器去看看。
還好,大概可以猜到出什么事了:數(shù)據(jù)盤不夠用了。那應(yīng)該很好解決吧?擴(kuò)數(shù)據(jù)盤?
二、COS
用騰訊云服務(wù)器而不是自己買服務(wù)器的一個好處就是,很多資源可以按需用,按需擴(kuò),包括硬盤。不過有個限制就是,買服務(wù)器的時候系統(tǒng)盤和數(shù)據(jù)盤都必須要買“云硬盤”而不能用本地盤。買云硬盤還有個附加的好處是可以申請開通硬盤快照功能,遷移復(fù)制服務(wù)器唰唰的。
但是云硬盤的性能跟本地硬盤是有差距的,處于性能考慮,志愿者選擇了性能更好的本地硬盤,這樣就導(dǎo)致硬盤滿了以后沒有辦法擴(kuò)了。幾年來,尋親的網(wǎng)友們每天上傳大量的高清圖片線索,終于在世紀(jì)寒流這幾天把硬盤擠爆了。
不過擴(kuò)硬盤本來也不是最佳選擇,比擴(kuò)硬盤更好的選擇是:不用硬盤!
騰訊云為這種UGC文件提供的解決方案是
COS(
Cloud Object Service
)
,當(dāng)前版本是COS3.0。COS 大概的意思就是,你有一大堆文件(比如網(wǎng)站用戶上傳的照片),只知道量很大,不知道有多少,不但需要找個地方存著,還隨時有可能需要在某個網(wǎng)頁上引用它。那么平臺提供一個服務(wù)器讓你把文件放上去,并提供web訪問和API上傳和管理接口,你就不用把文件傳到自己服務(wù)器了。
個人認(rèn)為使用COS的好處是:
1 能夠提供幾乎無限量的文件存儲空間,按存儲量和訪問量收費(fèi)
2 很大的免費(fèi)額度:50G的免費(fèi)空間,每計(jì)費(fèi)周期內(nèi)10G的回源流量,每計(jì)費(fèi)周期內(nèi)100萬次的免費(fèi)訪問次數(shù)(實(shí)際上COS通常在CDN后面提供服務(wù),因此實(shí)際上每個計(jì)費(fèi)周期可以提供10G和100萬次回源服務(wù),配合恰當(dāng)?shù)腃DN緩存策略,已經(jīng)可以滿足很大的訪問量)。
因此用cos不但從此不用糾結(jié)容量爆倉的問題,也不用為沒有使用到的容量預(yù)先買單花冤枉錢,而且還不用自己的服務(wù)器的硬盤和網(wǎng)卡來扛這些流量,服務(wù)器的帶寬和硬盤I/O壓力也立刻就下來了。
COS的使用也很簡單:
1 建個倉庫(bucket),以后附件就往這個倉庫里面?zhèn)髁恕?br />
2 修改上傳附件頁面,使用騰訊云提供的API把文件上傳到COS……開玩笑了,作為懶人,當(dāng)然是提工單申請開通COS的FTP權(quán)限啦
大概兩個鐘頭后收到消息說ftp開通了。
3 用論壇創(chuàng)始人身份登錄discuz,打開遠(yuǎn)程附件
遠(yuǎn)程訪問url可以域名解析到COS源上,不過這樣附件都要走IDC流量,不但貴,也沒有實(shí)現(xiàn)靜態(tài)文件就近訪問的目標(biāo),因此實(shí)際使用的時候最好在COS服務(wù)的上面加一層CDN:
現(xiàn)在用戶新上傳的附件都自動到cos里面了。然后我們來對付舊的附件吧。這時我們要用到回源功能了。先準(zhǔn)備好一個回源專用的域名,修改httpd.conf(apache)或者conf.d(nginx)添加一個新的server,documentroot(或者root)指向服務(wù)器上discuz的附件目錄 data/attachment 并修改域名解析,瀏覽器里面訪問一下確認(rèn)回源域名可以訪問到附件。然后修改cos的回源配置:
這樣如果有人訪問cos的時候cos上沒有相應(yīng)的文件,服務(wù)器就會到老的服務(wù)器上獲取文件并緩存下來。通過瀏覽器訪問附件確認(rèn)回源成功后,登錄數(shù)據(jù)庫
update cdb_attachments set remote = '1' 把所有的附件都更新為遠(yuǎn)程的。這樣數(shù)據(jù)就會隨著用戶的訪問慢慢遷移到cos上了,這個過程平滑無感知,不過就是不知道遷移到什么時候成功。
可是我想釋放硬盤空間出來啊怎么辦?先裝上ftp神器 lftp再說。不得不說,在linux下,lftp實(shí)在是個神器。打開lftp,open登上COS的ftp服務(wù)器,mirror -RL ..... 老附件通通遷移上COS咯。
偷懶用ftp而不是修改上傳頁面代碼的一個代價是,有的時候ftp失敗,會有一些附件仍然被扔在CVM硬盤上。可以定期
update cdb_attachments set remote = '1' 把附件都改成遠(yuǎn)程的,讓cos回源到CVM上。不過就算這樣,冷門的附件仍然可能長時間沒有辦法同步到cos上。crontab一個lftp任務(wù)定期把附件同步上COS可以解決問題。
不過如果懂一點(diǎn)點(diǎn)開發(fā)的話,寫一點(diǎn)點(diǎn)腳本用inotify自動同步一下顯得會看起來好點(diǎn)兒:
三、
CDN優(yōu)化:動靜分離
內(nèi)容分發(fā)網(wǎng)絡(luò)(Content Delivery Network)大概的意思就是,我大騰訊在全國成百上千個機(jī)房里面屯有無數(shù)的服務(wù)器,如果某個邊遠(yuǎn)地區(qū)的用戶要訪問你放在上海的一份數(shù)據(jù),山長水遠(yuǎn)的跑到上海機(jī)房來拉數(shù)據(jù)肯定快不了,如果我把這份數(shù)據(jù)先放在這個邊遠(yuǎn)地區(qū)里,離用戶最近的一個機(jī)房呢?那速度就不一樣了。而且這個邊遠(yuǎn)地區(qū)的機(jī)房流量還比我大上海三通機(jī)房的流量便宜了一大截。不過有個前提是服務(wù)器要提前知道用戶將要訪問的數(shù)據(jù),并提前拉取這份數(shù)據(jù)緩存在當(dāng)?shù)兀虼艘话阒挥脕矸?wù)靜態(tài)的圖片、樣式表、腳本、超文本、flash這些資源。
B論壇其實(shí)去年就用上了CDN,不過用的是一個比較冷門的用法:
動態(tài)加速
。這個用法就是說,先假設(shè)我網(wǎng)站的所有請求都是靜態(tài)的,這樣用戶所有的請求都訪問在當(dāng)?shù)氐姆?wù)器(邊緣服務(wù)器),然后邊緣服務(wù)器檢查一下這個請求的資源我有沒有緩存啊,沒有的話邊緣服務(wù)器再受累跑去你的服務(wù)器上拉這個數(shù)據(jù),把數(shù)據(jù)返回給你,并且嘗試緩存這個數(shù)據(jù)以備下次使用。然后對于不允許緩存的動態(tài)請求,只要聲明一個策略,比如“php文件緩存時間0秒”這樣,讓邊緣服務(wù)器直接訪問源CVM服務(wù)器就好了。
這樣做的好處是配置簡單,不需要關(guān)心動靜分離,并且不但靜態(tài)的文件都可以被邊緣服務(wù)器緩存,動態(tài)的請求也可以獲得cdn網(wǎng)絡(luò)的傳輸加速 。壞處就是“流量double”。也就是說,你不但要給cvm購買外網(wǎng)帶寬,cvm的動態(tài)數(shù)據(jù)送到邊緣服務(wù)器以后,你還要再購買一次從邊緣服務(wù)器到用戶那里的cdn帶寬(或者流量)。
另外一個附加的“缺點(diǎn)”是,CDN網(wǎng)絡(luò)總是盡可能快的從CVM服務(wù)器拉取全部數(shù)據(jù),再按照訪客用戶網(wǎng)絡(luò)的速度再把數(shù)據(jù)吐出去。這其實(shí)是最佳策略,因?yàn)镃VM的帶寬已經(jīng)買單了,不跑慢也是浪費(fèi),但是帶來的問題就是CVM監(jiān)控上看起來,再多的帶寬都會被跑滿,好像帶寬永遠(yuǎn)都不夠用。因此前任的管理員購買了非常多的帶寬來試圖滿足永遠(yuǎn)喂不飽的CDN網(wǎng)絡(luò),帶寬成了B論壇最沉重的成本。
(15M的帶寬,經(jīng)常性的被CDN跑滿)
貿(mào)然的減少帶寬也是不合適的,最好的做法還是做盡量徹底的動靜分離,靜態(tài)的部分還是用cos托管源和FTP托管源來喂飽CDN網(wǎng)絡(luò),讓用戶盡可能體驗(yàn)好;動態(tài)的部分直接訪問CVM,根據(jù)用戶日常實(shí)際產(chǎn)生的帶寬情況再加上足夠充分的冗余來采購就可以。
傳統(tǒng)的動靜分離手段是最好的:直接修改html、css和js,通過靜態(tài)專用域名訪問靜態(tài)資源。但是這樣做需要很多的開發(fā)工作量,作為懶人,我直接用上了大殺器:rewrite!
懶得給每個域名打馬賽克了,也不是什么機(jī)密。這幾條規(guī)則是這樣:
1 對于普遍圖片超大的png圖片,自動轉(zhuǎn)向到優(yōu)圖系統(tǒng)進(jìn)行jpg壓縮。因?yàn)楸O(jiān)控發(fā)現(xiàn)少數(shù)png圖片占了很大的流量比重。
2 對于用戶上傳到附件,自動轉(zhuǎn)向到attachment子目錄(COS源),這樣CVM就不需要承擔(dān)附件文件的存儲了(零星缺失的文件cos回源啟用了回源專用的域名)
3 對于系統(tǒng)的靜態(tài)文件,自動轉(zhuǎn)向到static子目錄(FTP源),不統(tǒng)一使用cos源的原因是,CDN回源到ftp源是免費(fèi)的,但是ftp源只有6G的存儲空間。回源到cos空間幾乎是無限的,但是是有可能收費(fèi)的。
這樣就把CVM上出了favicon.ico之外的幾乎所有靜態(tài)文件都分離出去了。要注意的是如果盜鏈嚴(yán)重的話,原本nginx上的防盜鏈規(guī)則也要相應(yīng)的設(shè)置到cdn上去。
動靜分離后cdn的整體命中率從瓶頸50%以下一下提升到75%以上,對于cvm的壓力大大減小了。看一下分域名的命中率數(shù)據(jù)
在不對論壇程序做細(xì)致的優(yōu)化的情況下,只是通過策略調(diào)整達(dá)到這樣的命中率,還算比較理想了。
不過這樣做了以后,CDN的流量費(fèi)用并沒有下降啊。因?yàn)锽論壇的CDN采用了峰值帶寬計(jì)費(fèi)模式,因此觀察了一下cdn監(jiān)控的帶寬數(shù)據(jù),發(fā)現(xiàn)了一個很有意思的問題:
CDN的峰值帶寬按天波動非常大。細(xì)看到具體的帶寬比較大的一天更明顯:
這天是央視《
感動中國2016
》B論壇的兩個發(fā)起人入選帶來的一個訪問波峰。
像這樣的帶寬曲線模式,按照帶寬購買CDN是非常浪費(fèi)的。果斷切換到流量包計(jì)費(fèi)模式,CDN費(fèi)用從每月>¥500(每年大約¥6000~¥8000)下降到每年<6T(每年大約2000以內(nèi))
動靜分離后CVM的實(shí)際動態(tài)帶寬需求有多少呢?后面上了負(fù)載均衡之后沒有地方可以截屏幾臺服務(wù)器完整的帶寬總和曲線了,總體是2M帶寬平常跑不滿,但是偶發(fā)集中的訪問會超,所以兩臺CVM做負(fù)載均衡,各開了2M的帶寬,保證平常有超過一倍的帶寬冗余。
四:memcache和云數(shù)據(jù)庫
B論壇遷移到騰訊云的時候就使用了云數(shù)據(jù)庫,數(shù)據(jù)量雖然不大,但是數(shù)據(jù)庫訪問量不小,購買的是能支撐2400QPS的50G/2000MB型號。
(7天后到期,不需要續(xù)了)
但是查看了一下discuz的優(yōu)化選項(xiàng),發(fā)現(xiàn)內(nèi)存緩存優(yōu)化項(xiàng)都沒有打開。在CVM里裝上一個memcached測試了一下,數(shù)據(jù)庫請求可以有效的降低到100QPS以下。這樣高配云數(shù)據(jù)庫就太浪費(fèi)了,換個10G/360MB/120QPS的就足夠了。不過性能冗余夠不夠?discuz支持master/slave的,先提個工單申請一個免費(fèi)的slave。
配置slave后觀察了幾天,即使在峰值查詢接近700QPS的情況下數(shù)據(jù)庫也沒有出現(xiàn)訪問瓶頸,騰訊云數(shù)據(jù)庫的性能還是相當(dāng)厚道的,這個性能冗余是足夠的。
(某海量網(wǎng)站配置錯誤導(dǎo)致出現(xiàn)大量404頁面,順帶給論壇帶來了很大壓力)
這樣數(shù)據(jù)庫費(fèi)用從
¥2240/年陡降到¥210/年了。已經(jīng)省了這么多錢,再買個C型的memcached好了,每天2元,每年大概700元。
CVM本機(jī)運(yùn)行一個memcached雖然性能不錯,但是始終要和其他本機(jī)服務(wù)競爭各種資源,而且考慮到后面要做負(fù)載均衡,也希望把登錄態(tài)(session)丟到云里面去。
(memcache很輕松的扛住了情人節(jié)的感動中國帶來的訪問量)
修改了一下discuz的配置文件指向memcached,再修改php.ini把session也指向了memcached,這下CVM就沒有“狀態(tài)”了,可以很容易的替換,或者集成多個做負(fù)載均衡。
五:CVM和負(fù)載均衡
B論壇在騰訊云上一共兩臺CVM,對外提供服務(wù)的是一臺配置有點(diǎn)豪華的服務(wù)器:
這臺每年費(fèi)用是 ¥16450,當(dāng)然主要的錢都花在買帶寬去喂CDN了
另一臺不對外服務(wù),只是有一個大的硬盤做數(shù)據(jù)備份。
一年¥1550。
經(jīng)過上面一系列優(yōu)化以后,原本買的CVM性能就太過冗余了,文件都丟到COS上去了,大硬盤備份也沒有必要了。已經(jīng)遷移到cos的文件剔除后,整個系統(tǒng)只剩下了4G,全部回遷到系統(tǒng)盤上面,數(shù)據(jù)盤也不需要了:
因?yàn)閿?shù)據(jù)庫在云上,附件文件也在cos上,本地沒有什么動態(tài)的數(shù)據(jù),這樣系統(tǒng)備份也簡單的多了,定期對系統(tǒng)盤做一個“系統(tǒng)鏡像”就成,除了有一個問題:做系統(tǒng)鏡像要關(guān)機(jī)。
墨菲定律告訴我們,永遠(yuǎn)要防著機(jī)器宕機(jī)!前面該清理的清理干凈了,是時候做雙機(jī)熱備了。先把備份機(jī)的論壇服務(wù)也啟動起來,session也指向memcached,然后添加一個負(fù)載均衡:
訪問低谷的時候把主服務(wù)器關(guān)掉,做鏡像,備份機(jī)自動扛住了全部訪問量。
有了鏡像以后換機(jī)型就方便了。新購一臺服務(wù)器
因?yàn)槌浞质褂昧嗽茢?shù)據(jù)庫、memcache、cdn、cos等paas服務(wù),又做了動靜分離,cpu現(xiàn)在已經(jīng)清閑的很,1核的性能是足夠的。內(nèi)存使用率也很低,內(nèi)存其實(shí)1G也足夠,不過cpu不夠了還可以負(fù)載均衡,內(nèi)存不夠了就只有干瞪眼,所以多加1G冗余。
,
購買的時候就可以直接指定安裝鏡像,支付每年¥1250的費(fèi)用,10分鐘后,有了一臺全新的服務(wù)器,配置host驗(yàn)證成功,加入到負(fù)載均衡后端列表里面
把權(quán)重分幾次從原來的高配服務(wù)器分配到新服務(wù)器上,運(yùn)行指標(biāo)都還好,就是負(fù)載有點(diǎn)兒高,訪問速度可能不是最優(yōu),也許是mysql或者memcache要通過網(wǎng)絡(luò)訪問導(dǎo)致的?
反正要做雙機(jī)熱備的,再買一臺一樣的服務(wù)器,加入負(fù)載均衡后臺分?jǐn)傄话氲脑L問量,觀察了一下cpu利用率和負(fù)載都下來了,雖然偶爾有一些瞬間的毛刺,反問上已經(jīng)感覺不到差別。
這樣就有了兩臺一模一樣的服務(wù)器,平常分?jǐn)傇L問壓力,一臺宕機(jī)的時候負(fù)載均衡會自動發(fā)現(xiàn)并把訪問全部導(dǎo)向到正常工作的服務(wù)器。未來如果有更大的訪問壓力隨時可以新購機(jī)器,安裝上鏡像后加入負(fù)載均衡后端。
正好原來購買的服務(wù)器和數(shù)據(jù)庫這陣子都要過期了,就都不用續(xù)費(fèi)了。
六、對公益捐贈負(fù)責(zé)
看看優(yōu)化后比原來節(jié)省了多少:
CVM: 原來16450+1550=18000 , 優(yōu)化后1250*2=2500
CDN+COS:原來:
¥6000~¥8000,優(yōu)化后約 ¥2000(COS回源流量暫時還沒收費(fèi),附件遷到cos后也不足50G還不需要存儲費(fèi)用,不過未來有可能產(chǎn)生少量費(fèi)用。)
mysql+memcache
:原來 ¥2240,優(yōu)化后210+700=910
總體相比原來優(yōu)化大約 ¥22000 /年。
雖然騰訊云一直對于公益組織免費(fèi)扶持云資源,但是我覺得云資源和公益捐贈善款一樣,也要用負(fù)責(zé)的態(tài)度摳門的用好,才是對支持企業(yè)負(fù)責(zé)任的態(tài)度。
最后,感謝騰訊云對公益事業(yè)的慷慨支持。打完收工。
posted on 2016-02-19 17:56
emu
閱讀(1218)
評論(0)
編輯
收藏
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
Powered by:
BlogJava
Copyright © emu
主站蜘蛛池模板:
独山县
|
雷州市
|
榆树市
|
五指山市
|
北碚区
|
宣城市
|
竹山县
|
乐亭县
|
伊春市
|
内江市
|
拜城县
|
盱眙县
|
商城县
|
改则县
|
玉田县
|
托克逊县
|
泗阳县
|
宁津县
|
六安市
|
浑源县
|
社会
|
杂多县
|
望谟县
|
青田县
|
昔阳县
|
朝阳区
|
安阳市
|
扬中市
|
崇州市
|
肥城市
|
太仆寺旗
|
林芝县
|
凉城县
|
尉犁县
|
河西区
|
瑞金市
|
稻城县
|
璧山县
|
大竹县
|
琼海市
|
通海县
|