mysql5.5原生版本,sync_binlog 1000 innodb_flush_log_at_trx_commit 2
1. 死鎖檢測
壓測場景:
乙個事務裡面先insert,再update,insert隨意,update對同一條記錄更新,併發128,迴圈10000次
壓測結果:
關閉死鎖檢測tps:5705 開啟死鎖檢測tps:1659,
結論:在對tps要求比較高的場景中關閉死鎖檢測很有必要,但是前提是整個涉及的場景中沒有死鎖,否則的話,關閉死鎖檢測只會起到相反的作用
2. 備庫延遲
壓測場景:
盡量讓主庫的tps高,看主庫的tps達到多少時備庫開始延遲
壓測結果:
主庫的tps達到9k以上時,備庫開始延遲,主庫的tps在9k-1w時,備庫的延遲時間在1s之內;主庫的tps在1w~1.2w的時候,備庫的延遲在100s以內;多例項下也是一樣的
3. innodb表,根據id更新和根據uk更新效能上差異多大
壓測背景:
id是主鍵,uk (iid,sid)
壓測結果:
語句:update a set q=q-
0, v=v+
1, gmt_modified=now(), rq =
case
when ((rq +
2 ) >=
0 ) then rq +
2else
0end
where id=
200060000007408609
and iid=
9749545200
and sid =
0and (q - rq -
2) >=
0and q-
0>=0;
結果:summary: sql01
exec
=537849, rows=
537849
=100
/e, **g
=140840
ussummary:
exec
=896
/s, qtps=
896/
s語句:
update a set q=q-
0, v=v+
1, gmt_modified=now(), rq =
case
when ((rq +
2 ) >=
0 ) then rq +
2else
0end
where iid=
9749545200
and sid =
0and (q - rq -
2) >=
0and q-
0>=0;
結果:summary: sql01
exec
=633689, rows=
633689
=100
/e, **g
=147471
ussummary:
exec
=768
/s, qtps=
768/s
結論:如果可以盡量使用id更新吧
4. 兩套同樣的寫語句放到事務裡和不放到事務裡效能相差多大?
事務版本
1024個併發
insert a exec=23592, rows=23592=100/e, **g=420 us
update b exec=25600, rows=25600=100/e, **g=91622 us
summary: exec=2599/s, qtps=5182/s
偽事務版本
insert a exec=23556, rows=23556=100/e, **g=652 us
update b exec=25600, rows=25600=100/e, **g=37346 us
summary: exec=6624/s, qtps=12867/s
事務版本是偽事務版本的一半效能
低壓力下出高效能
128個併發
事務版本
insert a exec=11745, rows=11745=100/e, **g=366 us
update b exec=12800, rows=12800=100/e, **g=41315 us--鎖時間
summary: exec=2968/s, qtps=5761/s
偽事務版本
insert a exec=11756, rows=11756=100/e, **g=518 us
update b exec=12800, rows=12800=100/e, **g=14483 us--update鎖時間
summary: exec=8488/s, qtps=16343/s
pgbench壓測資料
今天我們來聊聊pgbench r 在基準結束後,報告平均的每個命令的每語句等待時間 從客戶端的角度來說是執行時間 j pgbench中的工作者執行緒數量,在多cpu機器上使用多於乙個執行緒會有用,客戶端會盡可能均勻地分布到可用的執行緒上,預設為 1。c 模擬的客戶端數量,也就是併發資料庫會話數量,預...
壓測和防止壓測方案
壓測 防止壓測方案 1.壓測 1 壓測工具 ab 2 壓測請求方式 get 3 壓測網域名稱 url 4 壓測方案 10萬請求,500併發 5 壓測指令碼 ab n 100000 c 500 url 6 展示壓測結果 從上面分析,10萬請求錯誤有 96881 次請求錯誤,基本上也就是很大的問題了 7...
redis資料遷移 壓測
redis port 是一組開源工具集合,主要用於 redis 節點間的資料庫同步 資料匯入 資料匯出,支援 redis 的跨版本資料遷移,工具集中包括以下工具 redis shake是阿里雲redis mongodb團隊開源的用於redis資料同步的工具。redis shake是我們基於redis...