數據庫性能測試目的和範圍
- 目的
- 發現數據庫性能瓶頸.
- 範圍.
- sql查詢(慢查詢)
- 資源使用率
- 數據庫架構合理性
- 性能指標,比如:事務(Transactions Per Second,每秒傳輸的事物處理個數,即服務器每秒處理的事務數)
數據庫常用架構
一主多從
![在這裏插入圖片描述](https://img-blog.csdnimg.cn/20200519080033673.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_a HR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjE4Mzg1NA==,size_16,color_FFFFFF,t_70)
- 優點
- 讀寫分離
- 分擔了單臺數據庫壓力
- 缺點
- 存在主從數據延遲
雙機熱備
https://baijiahao.baidu.com/s?id=1640091002910074654&wfr=spider&for=pc
基於keepAlived實現.
- 優點
- 沒有主從延時
- 一臺掛掉後,虛擬ip會跑到另一臺
- 缺點
- 負荷沒有分散.
- 需要硬件提升性能
數據庫主從同步工作原理
- master將改變記錄下來
- 將改變傳輸到slave
- slave將根據日誌,將數據反映到自己數據庫
數據庫分庫分表設計方法
拆分原因
- 單表或者庫數據量太大
- 硬件不能升級
升級硬件是萬能提升性能方法.
方案
1. 業務拆分
用戶表,商品表,訂單表等等
2. 垂直拆分
舉例: 將商品表拆分爲牀上用品,母嬰用品,電子商品等等
3. 水平拆分
又稱爲一致性哈希算法
例如: 分局商品id, 將id%3 = 1的放到一個表, id%3 = 2的放到一個表, id%3 = 3的放到一個表.
postgres的分區表等等.