在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MySQL 5.7與MySQL 8.0 性能對比

數據分析與開發 ? 來源:數據分析與開發 ? 作者:數據分析與開發 ? 2020-11-03 09:26 ? 次閱讀

背景

測試mysql5.7和mysql8.0分別在讀寫,選定,只寫模式下不同并發時的性能(tps,qps)

最早

測試使用版本為mysql5.7.22和mysql8.0.15

sysbench測試前先重啟mysql服務,并清除os的緩存(避免多次測試時命中緩存)

每次進行測試都是新生成測試數據后再進行mysql5.7和mysql8.0的測試

每次測試時保證mysql5.7和mysql8.0的配置參數一致

環境

機器cat / etc / redhat-release |xargs echo'版本'&& dmidecode -s系統產品名稱|xargs echo'是否虛擬化'&& cat / proc / cpuinfo | grep“ processor” | wc -l |xargs echo'cpu核數'版本CentOS Linux版本7.5.1804(核心)是否虛擬化KVM cpu核數4

myql5.7.22

5.7.22-log innodb_buffer_pool_size128M innodb_log_buffer_size64M innodb_log_file_size48M binlog_formatROW log_binON transaction_isolationREPEATABLE-READ

mysql8.0.15

8.0.15 innodb_buffer_pool_size128M innodb_log_buffer_size64M innodb_log_file_size48M binlog_formatROW log_binON transaction_isolationREPEATABLE-READ

系統平臺

sysbench-V sysbench1.1.0(usingbundledLuaJIT2.1.0-beta3)

測試

在不同的持久化策略下(binlog,重做日志持久化)mysql5.7和mysql8.0在讀寫模式,引用模式,只寫模式(oltp_read_write,oltp_read_only,oltp_write_only)下的性能表現

sysbench測試時間為60s,測試的表數量為20

測試分別在雙1模式(安全性)和0 2模式(高級)下進行

參數 任選值 意味著
sync_binlog 0 binlog刷盤持久化由操作系統完成,性能好,存在丟失binlog的風險
sync_binlog 1個 事務提交后刷盤持久化,最安全
sync_binlog ? 在每N個事務提交后進行刷盤持久化
innodb_flush_log_at_trx_commit 0 每秒鐘寫redo log并刷盤持久化
innodb_flush_log_at_trx_commit 1個 事務提交后寫redo log并刷盤持久化,最安全
innodb_flush_log_at_trx_commit 2 事務提交后寫redo log,兩次刷盤持久化

雙1模式下

SHOWGLOBALVARIABLESWHEREVariable_nameIN('sync_binlog','innodb_flush_log_at_trx_commit'); +--------------------------------+-------+ |Variable_name|Value| +--------------------------------+-------+ |innodb_flush_log_at_trx_commit|1| |sync_binlog|1| +--------------------------------+-------+

mysql5.7和mysql8.0在讀寫模式下的表現

雙1配置,讀寫模式下,mysql5.7.22和mysql8.0.15 tps,qps性能差不多,mysql8.0.15在120線程并發時,性能出現了下降幅度

mysql5.7和mysql8.0在預期模式下的表現

雙1配置,預期模式下,mysql5.7.22的tps,qps比mysql8.0.15好1/3左右;并發線程數增加后,tps,qps并沒有增加,反而出現了下降的趨勢

mysql5.7和mysql8.0在只寫模式下的表現

雙1配置,只寫模式下,轉換并發數的上升,mysql5.7.22的性能比mysql8.0.15好1/4左右

0 2模式下

SHOWGLOBALVARIABLESWHEREVariable_nameIN('sync_binlog','innodb_flush_log_at_trx_commit'); +--------------------------------+-------+ |Variable_name|Value| +--------------------------------+-------+ |innodb_flush_log_at_trx_commit|2| |sync_binlog|0| +--------------------------------+-------+

mysql5.7和mysql8.0在讀寫模式下的表現

0 2配置,讀寫模式下,并發數低時,mysql5.7.22性能好于mysql8.0.15;并發數比較高時,mysql8.0.15性能好于mysql5.7.22;在80線程的并發以上時,性能開始下降

mysql5.7和mysql8.0在預期模式下的表現

0 2配置,預期模式下,mysql5.7.22性能比mysql8.0.15好1/3左右;轉換并發數的上升,性能也沒有上升,反而有下降的趨勢

mysql5.7和mysql8.0在只寫模式下的表現

0 2配置,只寫模式下,mysql5.7.22的tps頂點比較大;mysql5.7.22的qps比mysql8.0.15好1/3左右

摘要

整體來看,mysql5.7.22在讀寫模式,擴展模式,只寫模式下的表現是mysql8.0.15的

隨著并行數的增加,性能表現不會也跟著增加,將會出現下降

本次測試結果是在配置很低的情況下進行的,不代表絕對

注意sysbench需要設置--db-ps-mode = disable禁用預編譯語句,不然并發測試線程多時會報下面的錯誤。致命:mysql_stmt_prepare()失敗致命:MySQL錯誤:1461“不能創建超過max_prepared_stmt_count語句(當前值:16382)“致命:mysql_stmt_prepare()失敗致命:MySQL錯誤:1461”不能創建超過max_prepared_stmt_count語句(當前值:16382)“致命:thread_init' function failed: /usr/local/share/sysbench/oltp_common.lua SQL API error FATAL: mysql_stmt_prepare() failed FATAL: MySQL error: 1461 "Can't create more than max_prepared_stmt_count statements (current value: 16382)" FATAL:thread_init'函數失敗:/ usr / local / share / sysbench / oltp_common.lua:288:SQL API錯誤致命:mysql_stmt_prepare()失敗

使用腳本

catsysbench_test_mysql5.7_8.0_tps_qps.sh #!/bin/bash #用于sysbench測試在讀寫模式、只讀模式、只寫模式下mysql5.7和mysql8.0的tps,qps #nohupbash$0>/tmp/sysbench_test2>&1& # user=admin passwd=admin ports="801557222" host=127.0.0.1 sysbench_test_mode="oltp_read_writeoltp_read_onlyoltp_write_only" sysbench_test_info_path=/tmp/sysbench-test functionred_echo(){ localwhat="$*" echo-e"$(date+%F-%T)e[1;31m${what}e[0m" } functioncheck_las_comm(){ if[$1-ne0];then red_echo$2 exit1 fi } functionrestart_mysqld(){ servicemysqld${1}restart sleep2 } functionpurge_binlog(){ port=$1 mysql-u$user-p$passwd-P$port-h$host</proc/sys/vm/drop_caches } functionsysbench_with_diff_thread(){ thread_num=$1 port=$2 order=$3 test_mode=$4 sysbench/usr/local/share/sysbench/${test_mode}.lua--mysql_storage_engine=innodb--table-size=100000--tables=20--mysql-db=test_1--mysql-user=$user--mysql-password=$passwd--mysql-port=$port--mysql-host=$host--threads=$thread_num--time=60--report-interval=2--db-ps-mode=disable--events=0--db-driver=mysql$order } functionmain(){ fortest_modein$sysbench_test_mode;do forportin$ports;do forthread_numin{5,10,20,30,40,80,120,200};do restart_mysqld"$port" check_las_comm"$?""restartmysqld${port}failed" clean_os_cache purge_binlog"$port" red_echo"sysbench$thread_numthreadscleanupmysqld${port}" sysbench_with_diff_thread"$thread_num""$port""cleanup""$test_mode">/dev/null red_echo"sysbench$thread_numthreadspreparemysqld${port}" sysbench_with_diff_thread"$thread_num""$port""prepare""$test_mode">/dev/null mkdir-p$sysbench_test_info_path red_echo"sysbench$thread_numthreadsrunmysqld${port}$test_mode" sysbench_with_diff_thread"$thread_num""$port""run""$test_mode">$sysbench_test_info_path/${test_mode}_${thread_num}_$port #servicemysqld{port}stop done done done } main

責任編輯:xj

原文標題:MySQL 5.7 & MySQL 8.0 性能對比

文章出處:【微信公眾號:數據分析與開發】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • MySQL
    +關注

    關注

    1

    文章

    831

    瀏覽量

    26760
  • MYSQL數據庫
    +關注

    關注

    0

    文章

    96

    瀏覽量

    9463

原文標題:MySQL 5.7 & MySQL 8.0 性能對比

文章出處:【微信號:DBDevs,微信公眾號:數據分析與開發】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    使用插件將Excel連接到MySQL/MariaDB

    使用插件將 Excel 連接到 MySQL/MariaDB 適用于 MySQL 的 Devart Excel 插件允許您將 Microsoft Excel 連接到 MySQL 或 MariaDB
    的頭像 發表于 01-20 12:38 ?137次閱讀
    使用插件將Excel連接到<b class='flag-5'>MySQL</b>/MariaDB

    適用于MySQL和MariaDB的.NET連接器

    支持 ORM 的適用于 MySQL 和 MariaDB 的 .NET 連接器 dotConnect for MySQL 是一種高性能 ADO.NET 數據提供程序,可在開發 MySQL
    的頭像 發表于 01-16 14:17 ?119次閱讀
    適用于<b class='flag-5'>MySQL</b>和MariaDB的.NET連接器

    MySQL數據庫的安裝

    MySQL數據庫的安裝 【一】各種數據庫的端口 MySQL :3306 Redis :6379 MongoDB :27017 Django :8000 flask :5000 【二】MySQL 介紹
    的頭像 發表于 01-14 11:25 ?141次閱讀
    <b class='flag-5'>MySQL</b>數據庫的安裝

    華為云 Flexus X 實例 MySQL 性能加速評測及對比

    基于 sysbench 構造測試表和測試數據 12 3.5 數據庫讀寫性能測試 13 四、業界 U?系列無加速 MySQL
    的頭像 發表于 12-25 17:10 ?257次閱讀
    華為云 Flexus X 實例 <b class='flag-5'>MySQL</b> <b class='flag-5'>性能</b>加速評測及<b class='flag-5'>對比</b>

    云服務器 Flexus X 實例 MySQL 應用加速測試

    文章目錄 目錄 文章目錄 ? 購買配置 ? 基本配置參考如下: ? 連接服務器 ? 查詢MySQL狀態 ? 啟動MySQL ? 添加配置 ? 添加密碼并修改權限 ? 性能測試 ? C#插入數據測試
    的頭像 發表于 12-24 12:19 ?232次閱讀
    云服務器 Flexus X 實例 <b class='flag-5'>MySQL</b> 應用加速測試

    MySQL還能跟上PostgreSQL的步伐嗎

    Percona 的老板 Peter Zaitsev最近發表一篇博客,討論了MySQL是否還能跟上PostgreSQL的腳步。Percona 作為MySQL 生態扛旗者,Percona 開發了知名
    的頭像 發表于 11-18 10:16 ?283次閱讀
    <b class='flag-5'>MySQL</b>還能跟上PostgreSQL的步伐嗎

    詳解MySQL多實例部署

    詳解MySQL多實例部署
    的頭像 發表于 11-11 11:10 ?340次閱讀

    MySQL編碼機制原理

    前言 一位讀者在本地部署 MySQL 測試環境時碰到一個問題,我覺得挺有代表性的,所以寫篇文章介紹一下,看完相信你會對 MySQL 的編碼機制有最本質的了解,本文的目錄結構如下 讀者問題簡介
    的頭像 發表于 11-09 11:01 ?302次閱讀

    適用于MySQL的dbForge架構比較

    dbForge Schema Compare for MySQL 是一種工具,用于輕松有效地比較和部署 MySQL 數據庫結構和腳本文件夾差異。該工具提供了 MySQL 數據庫架構中所有差異的全面視圖。
    的頭像 發表于 10-28 09:41 ?270次閱讀
    適用于<b class='flag-5'>MySQL</b>的dbForge架構比較

    配置MySQL主從復制和讀寫分離

    配置MySQL主從復制和讀寫分離
    的頭像 發表于 10-23 11:44 ?550次閱讀
    配置<b class='flag-5'>MySQL</b>主從復制和讀寫分離

    Jtti:MySQL初始化操作如何設置root密碼

    MySQL初始化時,可以通過以下步驟設置root密碼: 打開命令行工具,使用以下命令啟動MySQL服務: ? sudo service mysql start ? 使用以下命令登錄MySQL
    的頭像 發表于 08-08 16:45 ?466次閱讀

    MySQL知識點匯總

    大家好,這部分被稱為DQL部分,是每個學習MySQL必須要學會的部分,下面就讓我來介紹MySQL中的其他部分。
    的頭像 發表于 08-05 15:27 ?459次閱讀
    <b class='flag-5'>MySQL</b>知識點匯總

    華納云:如何修改MySQL的默認端口

    MySQL是世界上最流行的開源關系型數據庫管理系統之一。在某些情況下,由于安全性、網絡策略或端口沖突的原因,數據庫管理員可能需要更改MySQL服務的默認監聽端口。本文將指導您如何在不同的操作系統上
    的頭像 發表于 07-22 14:56 ?355次閱讀
    華納云:如何修改<b class='flag-5'>MySQL</b>的默認端口

    MySQL的整體邏輯架構

    支持多種存儲引擎是眾所周知的MySQL特性,也是MySQL架構的關鍵優勢之一。如果能夠理解MySQL Server與存儲引擎之間是怎樣通過API交互的,將大大有利于理解MySQL的核心
    的頭像 發表于 04-30 11:14 ?500次閱讀
    <b class='flag-5'>MySQL</b>的整體邏輯架構

    MySQL忘記root密碼解決方案

    mysql登錄密碼為password()算法加密,解密成本太高,以下為通用方案; 原理:mysql提供了特殊啟動方式,即跳過權限表驗證,啟動后,登錄不需要提供密碼; 登錄后,即可修改mysql數據庫的user表,重置
    的頭像 發表于 04-23 16:08 ?774次閱讀
    主站蜘蛛池模板: 免费视频精品 | 婷婷在线网站 | www色视频| 中年艳妇乱小玩 | bt天堂网在线www资源 | 成人精品视频在线观看播放 | 日本韩国三级在线 | 很狠操| 欧美18性欧美黑吊 | 亚洲精品久久片久久 | 在线91精品亚洲网站精品成人 | 四虎影院新网址 | 色之综合网 | 黄www色| 男人操女人的网站 | 日本三级香港三级人妇99 | 一区二区三区四区无限乱码在线观看 | 欧美亚洲综合另类成人 | 国产叼嘿视频网站在线观看 | 狠狠色丁香婷婷综合视频 | 日本一级成人毛片免费观看 | 中国videos偷窥| 黄的三级在线播放 | 免费被黄网站在观看 | 欧美色图亚洲自拍 | 亚欧成人中文字幕一区 | 免费看黄色一级毛片 | 四虎永久影院永久影库 | 欧美巨大xxxx做受中文字幕 | 六月丁香啪啪六月激情 | 一级毛片一级毛片一级级毛片 | 59日本人xxxxxxxxx69 | 四虎影城库| 午夜国产在线观看 | 天天做天天摸天天爽天天爱 | 午夜欧美 | 中文字幕一区二区三区在线观看 | 色视频色露露永久免费观看 | 中文字幕一二三四区 | 91在线网址 | 丁香花的视频免费观看 |