针对web高并发量的处理
針對(duì)高并發(fā)量的處理 一個(gè)老生常談的話(huà)題了 至于需要運(yùn)維支持的那些cdn、負(fù)載均衡神馬的就不贅述了 你們都懂的
蟲(chóng)子在此博文只講一些從程序角度出發(fā)的一些不錯(cuò)的解決方案。 至于從數(shù)據(jù)庫(kù)角度的性能方案、蟲(chóng)子另開(kāi)博文。
1. 首推靜態(tài)化 推薦指數(shù)五顆星 滿(mǎn)星五顆
只要是大型互聯(lián)網(wǎng)應(yīng)用基本上離不開(kāi)這個(gè)概念,IIS自帶的偽靜態(tài)化不談,但是想做好靜態(tài)化并不是一個(gè)容易的過(guò)程 動(dòng)態(tài)和靜態(tài)之間的取舍需要用一個(gè)平衡的戰(zhàn)略眼光來(lái)看待
舉個(gè)例子 當(dāng)初在盛大游戲的時(shí)候 遭遇永恒之塔aion上線,悲摧、血淚,周末過(guò)去加班,目的、論壇必須抗住壓力。好吧,讓我重構(gòu)整個(gè)論壇是不可能了,怎么整,靜態(tài)化。如何靜態(tài)化,全站!!!忽悠、大忽悠,爬網(wǎng)爬整個(gè)論壇么,非也。說(shuō)是全站、其實(shí)也就是首頁(yè)、版面頁(yè)、熱門(mén)板塊的前20頁(yè)等,開(kāi)多個(gè)線程一起跑、擔(dān)心線程資源問(wèn)題就copy下程序,復(fù)制下來(lái)改個(gè)參數(shù)開(kāi)多個(gè)進(jìn)程跑。靜態(tài)站完成了、然后怎么辦,用戶(hù)怎么互動(dòng)。亮點(diǎn)來(lái)了,其實(shí)我們是6臺(tái)動(dòng)態(tài)站、1臺(tái)靜態(tài)站,因?yàn)榇蟛糠钟脩?hù)只看看不說(shuō)話(huà),所以我們以靜態(tài)站為入口,如果用戶(hù)產(chǎn)生互動(dòng) 我們就把他們甩到動(dòng)態(tài)站去。oh yeah,似乎也沒(méi)那么復(fù)雜。至于一般的互聯(lián)網(wǎng)應(yīng)用其實(shí)一般首頁(yè)靜態(tài)化就足夠了。?
2.異步請(qǐng)求
關(guān)于ajax一般不是新手的話(huà)都已經(jīng)很了解了,Asynchronous JavaScript and XML。大多數(shù)人可能把a(bǔ)jax看成是提供用戶(hù)體驗(yàn)的方案。實(shí)際上ajax對(duì)于減輕服務(wù)器壓力也是很有幫助的。ajax在服務(wù)端返回來(lái)的僅僅只是瀏覽器端需要的數(shù)據(jù),比如你的select,返回的是僅需要一串json而不會(huì)返回一大堆多余的html標(biāo)簽。這樣能減輕網(wǎng)絡(luò)負(fù)載。增大網(wǎng)絡(luò)吞吐率。
目前蟲(chóng)子的東家,在大型B2B站點(diǎn)上這個(gè)方案用的尤為出色。
3.并行計(jì)算
蟲(chóng)子以前的博文中介紹過(guò)cuda并行框架,現(xiàn)在微軟4.0也已經(jīng)提出了并行計(jì)算。不過(guò)還沒(méi)深入研究,當(dāng)然并不是一個(gè)站點(diǎn)的所有模塊都適合并行計(jì)算,僅限于查詢(xún)、行為分析等。
4.緩存什么就不多扯了
5.文本存儲(chǔ)
對(duì)于一些常用的資源可以在站點(diǎn)啟動(dòng)初,就形成固化資源、定時(shí)維護(hù)。例如web安全的規(guī)則文件。
6.動(dòng)靜分離
圖片資源、css、視頻的等等靜態(tài)資源切換到獨(dú)立服務(wù)器。
7.用戶(hù)引導(dǎo)
社會(huì)學(xué)方案,哈哈
8.減少session的使用 你們也懂的 不多說(shuō)
9.無(wú)關(guān)安全的計(jì)算可以放在客戶(hù)端
例如層級(jí)跳轉(zhuǎn)、用戶(hù)調(diào)查中根據(jù)前文選擇的后續(xù)命題選擇等等 可以用js實(shí)現(xiàn)
10.還有很多 .....
?
轉(zhuǎn)載于:https://blog.51cto.com/dubing/712422
總結(jié)
以上是生活随笔為你收集整理的针对web高并发量的处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: (运维)VMware-vCenter-S
- 下一篇: wcf系列学习5天速成——第五天 服务托