幫助中心
香港服務(wù)器租用幫助
香港服務(wù)器架設(shè)網(wǎng)站反向代理有什么優(yōu)勢
2018-07-02 16:07:42

反向代理的主要作用是分發(fā)請求。

首先我們要了解系統(tǒng)的性能瓶頸在哪里,一般來說網(wǎng)絡(luò)io速度和內(nèi)存io接近,都遠(yuǎn)高于磁盤io。假定一個(gè)接口請求返回?cái)?shù)據(jù)100k(一般沒有這么大,只是假定一個(gè)方便計(jì)算的值),10個(gè)并發(fā)請求就是1M,那么全雙工千兆網(wǎng)卡(現(xiàn)在還有萬兆網(wǎng)卡,但成本太高,應(yīng)用還不廣),可以支撐并發(fā)10000個(gè)請求,開雙網(wǎng)卡,理論的上限就是20000個(gè)并發(fā)請求。

假設(shè)我們收到請求馬上就返回,那么最高并發(fā)數(shù)就是我們上面計(jì)算的結(jié)果,但是,問題在于,應(yīng)用香港服務(wù)器做不到馬上返回,因?yàn)樗泻芏鄻I(yè)務(wù)邏輯需要執(zhí)行處理,比如給用戶發(fā)推送發(fā)短信發(fā)郵件,本地磁盤寫日志,請求數(shù)據(jù)庫增刪改查,調(diào)用微信的登錄接口等等等等,都附加了各個(gè)層面的io。

所以第一層的優(yōu)化,我們會(huì)盡量優(yōu)化應(yīng)用服務(wù)自身,把發(fā)推送發(fā)短信發(fā)郵件的活推到隊(duì)列,讓別的香港服務(wù)器去干。這個(gè)一般用內(nèi)存隊(duì)列,io很高。

開多線程或者協(xié)程的方式異步寫日志,但再怎么優(yōu)化,磁盤io的上限突破不了,這個(gè)io很低。還有更激進(jìn)的方案,干脆日志也寫內(nèi)存,或者通過內(nèi)網(wǎng)網(wǎng)絡(luò)同步到別的香港服務(wù)器上,可以更優(yōu)化。

數(shù)據(jù)庫復(fù)用連接池,減少連接和斷開的時(shí)間開銷。查詢語句盡量優(yōu)化,減少等待數(shù)據(jù)庫操作的時(shí)間。當(dāng)然,再怎么優(yōu)化,一樣有個(gè)上限。

調(diào)用微信的登錄接口等外部接口,這個(gè)就更難辦了,受制于人,除了tcp連接池復(fù)用能稍微優(yōu)化一點(diǎn)點(diǎn),完全是取決于外部條件。

木桶理論取最短板,所有這些條件里,總有最慢最落后的那個(gè)。假如拖后腿的這個(gè),最佳狀態(tài)也只能優(yōu)化到支持2000個(gè)并發(fā),那就尷尬了,本來能支持20000個(gè)請求的系統(tǒng),只能用到1/10性能。

( 當(dāng)然也可以在dns對應(yīng)不同ip方式分布請求,但是dns層面的分布更復(fù)雜更麻煩,因?yàn)閐ns緩存的原因,請求也不能均勻分布,而且ip地址也是越來越稀缺的資源,沒有背景沒有后臺的,搞這么多ip也不容易啊 )

單個(gè)公網(wǎng)ip算一個(gè)節(jié)點(diǎn)的話,這個(gè)節(jié)點(diǎn)本來的潛力是響應(yīng)20000個(gè)并發(fā)請求,實(shí)際在應(yīng)用層面只能到2000并發(fā),潛力還未發(fā)掘啊。這個(gè)時(shí)候,就是反向代理起到用武之地的時(shí)候了。

首先一個(gè)反向代理的香港服務(wù)器拋開所有業(yè)務(wù)層的東西,只單純的接下請求再返回,那么可以支持到20000并發(fā)了。接下來應(yīng)用層面誰來處理?找來10個(gè)小弟,轉(zhuǎn)發(fā)給他們,每人2000正好。這樣這個(gè)節(jié)點(diǎn)系統(tǒng)雖然性價(jià)比只有10/11,但是性能潛力好歹挖盡了。

這就是反向代理的作用了。

USA-IDC特推出香港服務(wù)器租用折扣,先抽券后下單,售完即止歡迎點(diǎn)擊下圖了解詳情

新客優(yōu)惠
特價(jià) 酷睿i3系列
性價(jià)比熱銷推薦,年銷量第一
1180/月起
USA-IDC為您提供免備案服務(wù)器 0元試用
立即聯(lián)系在線客服,即可申請免費(fèi)產(chǎn)品試用服務(wù)
立即申請