壓測資料全記錄

2022-10-11 06:30:09 字數 2465 閱讀 1729

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...