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 的列表結構就可以實現這個效果。