如何處理大流量高并發

1.動靜分離。

  將網站中的靜態資源單獨拆分出來, 比如 css, js, 圖片, 視頻資源單獨存儲在一臺服務器上, 或者直接使用云存儲平臺, 七牛云或者阿里云之類的, 這樣能有效的降低主服務器的運行壓力

2.CDN加速。

  云平臺提供 CDN 加速, 可以對資源進行全國服務器節點的分發, 提高全國各地的訪問速度。

3.反向代理,負載均衡。

  反向代理就是將用戶的請求, 分發到不同的 web 服務器上, 進行處理, 降低單臺服務器的壓力, 負載均衡則是根據 web 服務器的性能進行請求的分配, 負載較小的多分配一些請求, 負載較大的小分配一下請求.   nginx 就可以實現反向代理和負載均衡。

4.使用數據緩存。

  數據緩存可以使用 memcache 和 redis 這樣的內存緩存系統來實現, 將一些常用數據寫入到內存中, 從而提升響應的速度。

5.數據庫優化。

  數據緩存,結構優化,定位慢查詢語句,語句優化,索引優化,分庫分表,主從復制讀寫分離,中文分詞。

6.壓縮合并js? ?css。

  過多的 js 和 css 請求會消耗服務器的資源. 可以借助前端工具 webpack 來進行打包。

7.分布式集群搭建。

  將業務拆分到不同的服務器下, 降低單臺服務器壓力.例如用戶和商品功能拆分開。

8.頁面靜態化。

  頁面靜態化其實是緩存的一種實現, 將要返回的 HTML 內容預先寫入到一個文件中, 訪問的時候可以直接返回該文件中的內容。

9.防止外部盜鏈。

  盜鏈是其他網站引用當前服務器的資源, 比如css, js 和圖片,主要是圖片. 可以使用 refer 進行限制。

10.使用消息隊列。

  將請求的內容壓入到隊列中, 用另外的腳本異步處理請求, Redis 的列表結構就可以實現這個效果。

轉載于:https://www.cnblogs.com/wwlong/p/10187211.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/248757.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/248757.shtml
英文地址,請注明出處:http://en.pswp.cn/news/248757.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

echarts鼠標事件以及自定義數據獲取

事件添加方法: 對應官網位置:https://www.echartsjs.com/api.html#events 鼠標事件包括 click、dblclick、mousedown、mousemove、mouseup、mouseover、mouseout、globalout、contextmenu。 myChart.on(click, function (params) {console.log(params); …

[數學]點、線、面分割問題

平面分割問題 p條直線相交于一點時,分割的圖形有 2*(n-1) 個,此時再加一條直線,在 2*(n-1) 的基礎上再加 n條,此時為2*n n條曲線,其中有m條相交于一點,每兩個曲線都交于兩點 平面上有n條直線,且…

移動開發

1.移動端基礎 1.1 瀏覽器現狀 PC端瀏覽器 360瀏覽器、谷歌瀏覽器、火狐瀏覽器、QQ瀏覽器、百度瀏覽器(停止服務)、搜狗瀏覽器、IE瀏覽器 移動端瀏覽器 UC、QQ瀏覽器、歐朋瀏覽器、百度手機瀏覽器、360、搜狗、獵豹、谷歌等其他手機自帶的瀏覽器 國…

Django之路由系統

Django的路由系統 Django 1.11版本 URLConf官方文檔 URL配置(URLconf)就像Django 所支撐網站的目錄。它的本質是URL與要為該URL調用的視圖函數之間的映射表。 你就是以這種方式告訴Django,對于這個URL調用這段代碼,對于那個URL調用那段代碼。 URLconf配置…

微信小程序——操作數據庫

案例一:統計用戶的訪問次數 業務需求: 統計每個用戶對程序的訪問次數將訪問次數存儲到數據庫中訪問次數應該與用戶進行關聯 業務邏輯: 如果用戶是第一次訪問此程序,向數據庫添加一條記錄:{openid:45454…

shop--12.阿里云部署以及域名綁定

一、申請阿里云服務器(1)PC訪問阿里云https://www.aliyun.com/,申請阿里云帳號(可以用您的支付寶帳號登錄,因為支付寶帳號已經進行了實名認證,使用起來更方便)并登錄(2)找…

微信小程序——獲取用戶的運動步數

程序獲取用戶信息步驟 點擊參考微信文檔中的授權首先程序先向用戶申請訪問哪些權限用戶做出選擇后返回給程序程序攜帶權限訪問服務器如果用戶允許則返回信息如果用戶為允許則不返回 自定義函數getUserRun 為獲取用戶的微信運動數據 頁面加載調用此函數函數中執行下面操作 1…

C++之前置自增與后置自增

關于前置自增與后置自增的區別我是參考這里:http://bbs.bccn.net/thread-454977-1-1.html 簡單復述下,比如x; 與 x; 在C中,x這個表達式的值為原先x的值1,副作用是x的值增加了1;(C中不是這樣定義的&#xff…

第一次個人作業

該作業所屬課程:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2作業要求地址:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/homework/3340團隊名稱:腦殼痛 作業的目標 1.通過測試其他組的軟件項目學習其…

微信小程序——解決上傳并部署云函數時報錯ResourceNotFound.Function, 未找到函數版本,請創建后再試。 (7f2d9d2d-5eac-4575-9n57-acd66cfa587g

1. 上傳部署我們的云函數 2. 報錯 錯誤信息為:Error: ResourceNotFound.Function, 未找到函數版本,請創建后再試。 (7f2d9d2d-5eac-4575-9b57-acd66cfa587e) 3. 原因 原因是可能我們在調試的時候不小心將我們開發控制臺中的云函數刪除了 4. 解決辦法…

前端面試題——HTML基礎篇

如何進行網站的性能優化 content方面 減少http請求 合并文件 css精靈圖減少 DNS 查詢 DNS緩存 將資源分布到恰當數量的主機名減少 DOM 元素的數量 Server方面 使用CDN配置Etag對組件使用 Gzip 壓縮 Cookie方面 減小cookie大小 css方面 將樣式表放到頁面頂部不使用css表…

【IT界的廚子】醬香鱸魚

食材: 前世曾經回眸的鱸魚一條(主要選刺少的魚,適合孩子吃,大人吃隨意,草魚比較大) 五花肉少許(肥一些的) 豆腐 輔料: 蔥姜 蒜(選) 大料 香菜 調味: 啤酒(兩罐) 黃豆醬或豆瓣醬(選) 老抽 生抽 料酒 鹽 步驟: 1、魚肉劃開,方便燉的…

第二章:09流程控制[3for]

①格式for(初始化語句;判斷條件語句;控制條件語句) { 循環體語句; } ②注意事項A:判斷條件語句無論簡單還是復雜結果是boolean類型。 B:循環體語句如果是一條語句,大括號可以省略;如果是多條語句,大括號不能省略。建議永遠不要省略。 C:一般來說:有左大括…

LeetCode,第377場周賽,個人題解

目錄 100148.最小數字游戲 題目描述 思路分析 代碼詳解 100169.移除柵欄得到的正方形田地的最大面積 題目描述 思路分析 代碼詳解 100156.轉換字符串的最小成本I 題目描述 思路分析 代碼詳解 100158.轉換字符串的最小成本II 題目描述 思路分析 代碼詳解 100148.…

for each....in、for in、for of

一、一般的遍歷數組的方法: var array [1,2,3,4,5,6,7]; for (var i 0; i < array.length; i) { console.log(i,array[i]); } 二、用for in的方遍歷數組 for(let index in array) { console.log(index,array[index]); }; 三、forEach array.forEach(v>{ cons…

Vue cli3.0創建Vue項目

創建Vue項目 在要創建項目的文件夾下面打開Powershell窗口 輸入命令 vue create 項目名稱 選擇第二項 回車后 選擇是否使用歷史路由 no 回車 選擇 Less 回車 選擇第三個 回車 選擇第一個 回車 選擇第一個 回車 是否保存模板 選擇no 完成啦 完成

文件內容的輸出io

package bbb; import java.io.*; public class ccc {public static void main(String[]args) throws IOException{ File filenew File("d:/1data.txt"); FileOutputStream outnew FileOutputStream(file); byte buy[]"12345abcdef#%&*軟件工程".getByt…

看完后完全了解 Vue 2.0 和 Vue 3.0 的區別

1.數據的雙向綁定 Vue2.0使用Object.defineProperty 原理&#xff1a;通過使用 Object.defineProperty 來劫持對象屬性的 geter 和 seter 操作&#xff0c;當數據發生改變發出通知 代碼&#xff1a; 1 <!DOCTYPE html>2 <html lang"en">3 <head>4…

channels2.X 學習筆記

- No module named asgiref.sync 報錯解決&#xff1a; # 報錯原因&#xff1a; """ django版本過低&#xff0c; 卸載最新版本的 channels 使用2.x 版本的 """ pip3 uninstall channels - 安裝&#xff1a; """ Django 1.11.15 …

風格遷移學習筆記

風格遷移大作業 學習規劃 跑通一份代碼&#xff01;&#xff01;&#xff01;&#xff08;done&#xff09;對照代碼、Blog和論文理解相應的算法過程規劃下一步&#xff0c;修改代碼&#xff08;done&#xff09;&#xff0c;實現預計功能&#xff08;done&#xff09;調參&…