.net 應(yīng)對網(wǎng)站訪問壓力的方案總結(jié)
開年比較空,抽時間寫個博文,總結(jié)下自己工作里的一些應(yīng)對網(wǎng)站訪問壓力的技術(shù)方案。
自己項(xiàng)目現(xiàn)在大概一天50W的pv。已從前端到后端的順序總結(jié)下自己用的一些方案。
一. 前端頁面:
1.首先減少資源的大小,能用小圖,就用小圖。引用第三方j(luò)s用mini 壓縮版的js。
2.用CDN減少服務(wù)器訪問的壓力,將圖片,css,js文件放到CDN上。用戶從cdn緩存獲取資源的速度遠(yuǎn)快與訪問服務(wù)器獲取的速度。(還有網(wǎng)絡(luò)關(guān)系,cdn網(wǎng)絡(luò)快)
3.耗時長的js可以異步請求后加載。
二.服務(wù)器負(fù)載均衡:
負(fù)載均衡解決方案有很多,不差錢有不差錢的,屌絲有屌絲的方案。我用的是nginx負(fù)載均衡。
準(zhǔn)備一臺專用的nginx負(fù)載均衡服務(wù)器,用它來負(fù)載均衡,轉(zhuǎn)發(fā)給5臺業(yè)務(wù)服務(wù)器。(開發(fā)需要單臺調(diào)試時,用hosts指向單臺)
三.服務(wù)器緩存
因?yàn)槭欠植际郊軜?gòu),服務(wù)器緩存主要用了memcached和redis(各配置2臺,一臺主服務(wù),一臺備用)。memcached和redis都有各自的.net版本,用起來也不復(fù)雜。
具體選擇看業(yè)務(wù)需求,我基本上70%用memcached,需要長時間緩存的用redis。
memcached對于中文支持不好,要存中文數(shù)據(jù),先將中文base64編碼在存入,讀取時候做base64解碼。
四.數(shù)據(jù)庫
我主要使用sqlserver,少量項(xiàng)目用mysql。50W訪問量單臺sqlserver服務(wù)器完全可以支持的住。盡量減少事務(wù),業(yè)務(wù)需要用消息隊(duì)列后補(bǔ)處理。
大任務(wù)網(wǎng)站不處理,用其他程序處理(響應(yīng)要求高的修改操作,先修改redis緩存,然后由異步程序操作數(shù)據(jù)庫。)
操作時候記錄日志,數(shù)據(jù)庫崩潰或網(wǎng)站崩潰可以讀日志文件回補(bǔ)數(shù)據(jù)操作。(一般服務(wù)器掛了不會很久,超過一天不能恢復(fù)日子基本沒法活了。。真這樣在看具體情況找解決方案)
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
asp.net Checbox在GridView中的應(yīng)用實(shí)例分析
這篇文章主要介紹了asp.net Checbox在GridView中的應(yīng)用,結(jié)合實(shí)例形式分析了GridView中添加與使用Checbox的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2016-07-07ASP.NET生成樹形顯示的GridView實(shí)現(xiàn)思路
生成樹形結(jié)構(gòu)的表格數(shù)據(jù)(EasyUI也有TreeGrid,此處只是提供一個思路),可以擴(kuò)展單擊展開/收縮節(jié)點(diǎn),喜歡的朋友可以了解下啊,或許本文對你學(xué)習(xí)GridView有所幫助2013-02-02詳解.NET Core 使用HttpClient SSL請求出錯的解決辦法
這篇文章主要介紹了.NET Core 使用HttpClient SSL請求出錯的解決辦法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03ASP.NET中實(shí)時圖表的實(shí)現(xiàn)方法分享
這篇文章介紹了ASP.NET中實(shí)時圖表的實(shí)現(xiàn)方法,有需要的朋友可以參考一下2013-11-11datalist,Repeater和Gridview的區(qū)別分析
datalist,Repeater和Gridview的區(qū)別分析,需要的朋友可以參考一下2013-03-03