欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql數據庫binlog是否可能會讀取臟數據

江奕云2年前17瀏覽0評論
mysql數據庫binlog是否可能會讀取臟數據?

之前有做過一個 binlog 壓縮能節約多少空間的測試,效果上看還是比較理想的,可以節約一半以上的空間。但是這個又引出了一個新的問題,那就是這個功能對性能有多大影響呢?于是我又在測試環境試了一下,測試環境的物理配置如下。

根據之前的經驗這套測試環境在 120 個表 + 240 個并發的情況,可以取得一個性能上的極大值;所以在這里就直接使用這個作為測試壓力。

8.0.19 場景

第一步:安裝。

dbma-cli-single-instance --port=3306 --max-mem=131072 \--pkg=mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz install

第二步:創建測試用戶。

create user sysbench@'%' identified by 'sysbench';create database tempdb;grant all on tempdb.* to sysbench@'%';

第三步:填充數據并進行壓力測試。

sysbench --mysql-host=192.168.100.10 --mysql-port=3306 --mysql-user=sysbench \--mysql-password=sysbench --tables=120 --table_size=100000 --mysql-db=tempdb \--time=3600 --threads=240 oltp_point_select preparesysbench --mysql-host=192.168.100.10 --mysql-port=3306 --mysql-user=sysbench \--mysql-password=sysbench --tables=120 --table_size=100000 --mysql-db=tempdb \--time=3600 --threads=240 oltp_point_select run

性能表現。

資源消耗情況。

8.0.20 + binlog 壓縮

第一步:安裝。

dbma-cli-single-instance --port=3306 --max-mem=131072 \--pkg=mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz install

第二步:創建測試用戶。

create user sysbench@'%' identified by 'sysbench';create database tempdb;grant all on tempdb.* to sysbench@'%';-- dbm-agent 默認會開啟 binlog 壓縮show global variables like 'binlog_transaction_compression%';+-------------------------------------------+-------+| Variable_name | Value |+-------------------------------------------+-------+| binlog_transaction_compression | ON || binlog_transaction_compression_level_zstd | 3 |+-------------------------------------------+-------+2 rows in set (0.00 sec)

第三步:填充數據并進行壓力測試。

sysbench --mysql-host=192.168.100.10 --mysql-port=3306 --mysql-user=sysbench \--mysql-password=sysbench --tables=120 --table_size=100000 --mysql-db=tempdb \--time=3600 --threads=240 oltp_point_select preparesysbench --mysql-host=192.168.100.10 --mysql-port=3306 --mysql-user=sysbench \--mysql-password=sysbench --tables=120 --table_size=100000 --mysql-db=tempdb \--time=3600 --threads=240 oltp_point_select run

性能表現。

資源消耗情況。

8.0.20 + binlog 不壓縮

第一步: 關閉 binlog 壓縮功能。

set @@global.binlog_transaction_compression='OFF';show global variables like 'binlog_transaction_compression%';+-------------------------------------------+-------+| Variable_name | Value |+-------------------------------------------+-------+| binlog_transaction_compression | OFF || binlog_transaction_compression_level_zstd | 3 |+-------------------------------------------+-------+2 rows in set (0.01 sec)

第二步:進行壓力測試。

sysbench --mysql-host=192.168.100.10 --mysql-port=3306 --mysql-user=sysbench \--mysql-password=sysbench --tables=120 --table_size=100000 --mysql-db=tempdb \--time=3600 --threads=240 oltp_point_select run

性能表現。

資源消耗情況。

結論

開啟 binlog 壓縮會對性能有影響,大概會讓性能下降 1%,cpu 多消耗 1%。