.net 應對網站訪問壓力的方案總結
開年比較空,抽時間寫個博文,總結下自己工作里的一些應對網站訪問壓力的技術方案。
自己項目現(xiàn)在大概一天50W的pv。已從前端到后端的順序總結下自己用的一些方案。
一. 前端頁面:
1.首先減少資源的大小,能用小圖,就用小圖。引用第三方js用mini 壓縮版的js。
2.用CDN減少服務器訪問的壓力,將圖片,css,js文件放到CDN上。用戶從cdn緩存獲取資源的速度遠快與訪問服務器獲取的速度。(還有網絡關系,cdn網絡快)
3.耗時長的js可以異步請求后加載。
二.服務器負載均衡:
負載均衡解決方案有很多,不差錢有不差錢的,屌絲有屌絲的方案。我用的是nginx負載均衡。
準備一臺專用的nginx負載均衡服務器,用它來負載均衡,轉發(fā)給5臺業(yè)務服務器。(開發(fā)需要單臺調試時,用hosts指向單臺)
三.服務器緩存
因為是分布式架構,服務器緩存主要用了memcached和redis(各配置2臺,一臺主服務,一臺備用)。memcached和redis都有各自的.net版本,用起來也不復雜。
具體選擇看業(yè)務需求,我基本上70%用memcached,需要長時間緩存的用redis。
memcached對于中文支持不好,要存中文數(shù)據(jù),先將中文base64編碼在存入,讀取時候做base64解碼。
四.數(shù)據(jù)庫
我主要使用sqlserver,少量項目用mysql。50W訪問量單臺sqlserver服務器完全可以支持的住。盡量減少事務,業(yè)務需要用消息隊列后補處理。
大任務網站不處理,用其他程序處理(響應要求高的修改操作,先修改redis緩存,然后由異步程序操作數(shù)據(jù)庫。)
操作時候記錄日志,數(shù)據(jù)庫崩潰或網站崩潰可以讀日志文件回補數(shù)據(jù)操作。(一般服務器掛了不會很久,超過一天不能恢復日子基本沒法活了。。真這樣在看具體情況找解決方案)
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關文章
.NET Core 實現(xiàn)微信小程序支付功能(統(tǒng)一下單)
最近公司研發(fā)了幾個電商小程序,還有一個核心的電商直播,只要是電商一般都會涉及到交易信息,離不開支付系統(tǒng),這里我們統(tǒng)一實現(xiàn)小程序的支付流程。感興趣的朋友跟隨小編一起看看吧2019-09-09
詳解免費高效實用的.NET操作Excel組件NPOI(.NET組件介紹之六)
這篇文章主要介紹了詳解免費高效實用的.NET操作Excel組件NPOI(.NET組件介紹之六),具有一定的參考價值,有興趣的可以了解一下。2016-12-12
ASP.NET Core對不同類型的用戶進行區(qū)別限流詳解
這篇文章主要介紹了ASP.NET Core對不同類型的用戶進行區(qū)別限流的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02
已有打開的與此命令相關聯(lián)的DataReader,必須首先將它關閉。對于此異常的理解
今天與大家分享一下 已有打開的與此命令相關聯(lián)的DataReader,必須首先將它關閉。這個異常的個人理解2012-01-01

