數據庫高併發解決方案(三)圖說

 

QPS:即服務器每秒request請求或者查詢的數量,在互聯網領域,值每秒的響應response的請求數html

經常使用的性能測試工具 :ab、wrk、http_load、web bench 、 siege、Apache jmeter前端

  1. qps達到極限 : qps50 :小型網站,通常的服務器就能夠應付;
  2. qps達到100:假設關係型數據庫的每次請求在0.01秒內完成,假設單頁面只有一個sql查詢,那麼100qps意味着1秒鐘完成100次請求,可是此時咱們並不能保證數據庫查詢能完成100次,因此達到極限,優化方案:數據庫緩存層、數據庫負載均衡。
  3. qps達到800:假設咱們使用的百兆帶寬,意味着網站出口的實際帶寬是8M左右,假設每一個頁面只有10k,這個併發條件下,百兆的帶寬已經吃完。方案:cdn加速、負載均衡。
  4. qps達到1000, 假設使用memcache 緩存數據庫查詢,每一個頁面對memcache的請求遠大於對db的請求,memcahe的悲觀併發數在2W左右,但有可能在這以前內網帶寬已經吃光,表現出不穩定。方案:靜態html緩存。
  5. qps達到2000 在這個級別下 文件系統訪問鎖都成爲災難。方案:作業務分離,分佈式存儲。

優化方案:nginx

  1. web服務器優化 :負載均衡 
  2. 流量優化:防盜鏈處理 將惡意請求屏蔽,
  3. 前端優化:減小http請求、添加異步請求、啓用瀏覽器緩存和文件壓縮gzip、cdn加速、創建獨立的圖片服務器、
  4. 服務端優化:  頁面靜態化、併發處理、redis隊列處理、
  5. 數據庫優化: 數據庫緩存、分庫分表、分區操做 、讀寫分離、負載均衡

WEB服務器負債均衡:web

  1. 七層負載均衡實現: 基於url等應用層信息的負載均衡;表明 nginx的proxy是他一個很強大的功能,實現了7層負載均衡。功能強大、性能卓越、運行穩定, 配置靈活簡單、能自動剔除工做不正常的後端服務器、上傳文件使用異步模式、支持多種分配策略。
  2. nginx負載均衡策略:內置策略:iphash、加權輪詢, 
  3. 擴展策略:fair策略:根據後端服務器的響應時間判斷負載狀況,從中選出負載最輕的機器進行分流。
  4. 通用hash:通用hash比較簡單,能夠以nginx內置變量爲key進行hash、
  5. 一致性hash:採用nginx內置的一致性hash環,支持memcache。

nginx配置:redis

  1. 四層負載均衡實現: 經過報文中的目標地址和端口,再加上負載均衡設備設置的服務器選擇方式,決定最終選擇的內部服務器。
  2. LVS是Linux Virtual Server的簡寫,意即Linux虛擬服務器,是一個虛擬的服務器集羣系統;實現服務器負載均衡有三種方式NAT、DR、和TUN。
相關文章
相關標籤/搜索