一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MySQL 5.7與MySQL 8.0 性能對(duì)比

數(shù)據(jù)分析與開發(fā) ? 來源:數(shù)據(jù)分析與開發(fā) ? 作者:數(shù)據(jù)分析與開發(fā) ? 2020-11-03 09:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

背景

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

最早

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

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

每次進(jìn)行測試都是新生成測試數(shù)據(jù)后再進(jìn)行mysql5.7和mysql8.0的測試

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

環(huán)境

機(jī)器cat / etc / redhat-release |xargs echo'版本'&& dmidecode -s系統(tǒng)產(chǎn)品名稱|xargs echo'是否虛擬化'&& cat / proc / cpuinfo | grep“ processor” | wc -l |xargs echo'cpu核數(shù)'版本CentOS Linux版本7.5.1804(核心)是否虛擬化KVM cpu核數(shù)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

系統(tǒng)平臺(tái)

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

測試

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

sysbench測試時(shí)間為60s,測試的表數(shù)量為20

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

參數(shù) 任選值 意味著
sync_binlog 0 binlog刷盤持久化由操作系統(tǒng)完成,性能好,存在丟失binlog的風(fēng)險(xiǎn)
sync_binlog 1個(gè) 事務(wù)提交后刷盤持久化,最安全
sync_binlog ? 在每N個(gè)事務(wù)提交后進(jìn)行刷盤持久化
innodb_flush_log_at_trx_commit 0 每秒鐘寫redo log并刷盤持久化
innodb_flush_log_at_trx_commit 1個(gè) 事務(wù)提交后寫redo log并刷盤持久化,最安全
innodb_flush_log_at_trx_commit 2 事務(wù)提交后寫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在讀寫模式下的表現(xiàn)

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

mysql5.7和mysql8.0在預(yù)期模式下的表現(xiàn)

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

mysql5.7和mysql8.0在只寫模式下的表現(xiàn)

雙1配置,只寫模式下,轉(zhuǎn)換并發(fā)數(shù)的上升,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在讀寫模式下的表現(xiàn)

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

mysql5.7和mysql8.0在預(yù)期模式下的表現(xiàn)

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

mysql5.7和mysql8.0在只寫模式下的表現(xiàn)

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

摘要

整體來看,mysql5.7.22在讀寫模式,擴(kuò)展模式,只寫模式下的表現(xiàn)是mysql8.0.15的

隨著并行數(shù)的增加,性能表現(xiàn)不會(huì)也跟著增加,將會(huì)出現(xiàn)下降

本次測試結(jié)果是在配置很低的情況下進(jìn)行的,不代表絕對(duì)

注意sysbench需要設(shè)置--db-ps-mode = disable禁用預(yù)編譯語句,不然并發(fā)測試線程多時(shí)會(huì)報(bào)下面的錯(cuò)誤。致命:mysql_stmt_prepare()失敗致命:MySQL錯(cuò)誤:1461“不能創(chuàng)建超過max_prepared_stmt_count語句(當(dāng)前值:16382)“致命:mysql_stmt_prepare()失敗致命:MySQL錯(cuò)誤:1461”不能創(chuàng)建超過max_prepared_stmt_count語句(當(dāng)前值: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'函數(shù)失敗:/ usr / local / share / sysbench / oltp_common.lua:288:SQL API錯(cuò)誤致命: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

責(zé)任編輯:xj

原文標(biāo)題:MySQL 5.7 & MySQL 8.0 性能對(duì)比

文章出處:【微信公眾號(hào):數(shù)據(jù)分析與開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    850

    瀏覽量

    27727
  • MYSQL數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    0

    文章

    97

    瀏覽量

    9823

原文標(biāo)題:MySQL 5.7 & MySQL 8.0 性能對(duì)比

文章出處:【微信號(hào):DBDevs,微信公眾號(hào):數(shù)據(jù)分析與開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    使用 sysbench 對(duì)華為云 Flexus 服務(wù)器 X 做 Mysql 應(yīng)用加速測評(píng)

    目前的廠商服務(wù)器中是特有獨(dú)一份的,應(yīng)用加速包括 MySQL,Redis,NGINX 三種選擇。并且服務(wù)器性能較同類產(chǎn)品有了大量優(yōu)化,今天咱們針對(duì) MySQL 應(yīng)用加速測評(píng)一下。 ??????????????????????? ?
    的頭像 發(fā)表于 01-23 17:26 ?325次閱讀
    使用 sysbench 對(duì)華為云 Flexus 服務(wù)器 X 做 <b class='flag-5'>Mysql</b> 應(yīng)用加速測評(píng)

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

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

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

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

    MySQL數(shù)據(jù)庫的安裝

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

    華為云 Flexus X 實(shí)例 MySQL 性能加速評(píng)測及對(duì)比

    基于 sysbench 構(gòu)造測試表和測試數(shù)據(jù) 12 3.5 數(shù)據(jù)庫讀寫性能測試 13 四、業(yè)界 U?系列無加速 MySQL
    的頭像 發(fā)表于 12-25 17:10 ?517次閱讀
    華為云 Flexus X 實(shí)例 <b class='flag-5'>MySQL</b> <b class='flag-5'>性能</b>加速評(píng)測及<b class='flag-5'>對(duì)比</b>

    云服務(wù)器 Flexus X 實(shí)例 MySQL 應(yīng)用加速測試

    文章目錄 目錄 文章目錄 ? 購買配置 ? 基本配置參考如下: ? 連接服務(wù)器 ? 查詢MySQL狀態(tài) ? 啟動(dòng)MySQL ? 添加配置 ? 添加密碼并修改權(quán)限 ? 性能測試 ? C#插入數(shù)據(jù)測試
    的頭像 發(fā)表于 12-24 12:19 ?486次閱讀
    云服務(wù)器 Flexus X 實(shí)例 <b class='flag-5'>MySQL</b> 應(yīng)用加速測試

    MySQL還能跟上PostgreSQL的步伐嗎

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

    香港云服務(wù)器怎么部署MySQL數(shù)據(jù)庫?

    在香港云服務(wù)器上部署MySQL數(shù)據(jù)庫的步驟如下: 步驟 1: 更新軟件包列表 首先,確保軟件包列表是最新的。在終端中執(zhí)行以下命令: sudo apt update 步驟 2: 安裝 MySQL
    的頭像 發(fā)表于 11-14 16:15 ?493次閱讀

    詳解MySQL多實(shí)例部署

    詳解MySQL多實(shí)例部署
    的頭像 發(fā)表于 11-11 11:10 ?594次閱讀

    MySQL編碼機(jī)制原理

    前言 一位讀者在本地部署 MySQL 測試環(huán)境時(shí)碰到一個(gè)問題,我覺得挺有代表性的,所以寫篇文章介紹一下,看完相信你會(huì)對(duì) MySQL 的編碼機(jī)制有最本質(zhì)的了解,本文的目錄結(jié)構(gòu)如下 讀者問題簡介
    的頭像 發(fā)表于 11-09 11:01 ?557次閱讀

    適用于MySQL的dbForge架構(gòu)比較

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

    配置MySQL主從復(fù)制和讀寫分離

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

    Jtti:MySQL初始化操作如何設(shè)置root密碼

    MySQL初始化時(shí),可以通過以下步驟設(shè)置root密碼: 打開命令行工具,使用以下命令啟動(dòng)MySQL服務(wù): ? sudo service mysql start ? 使用以下命令登錄MySQL
    的頭像 發(fā)表于 08-08 16:45 ?796次閱讀

    MySQL知識(shí)點(diǎn)匯總

    大家好,這部分被稱為DQL部分,是每個(gè)學(xué)習(xí)MySQL必須要學(xué)會(huì)的部分,下面就讓我來介紹MySQL中的其他部分。
    的頭像 發(fā)表于 08-05 15:27 ?635次閱讀
    <b class='flag-5'>MySQL</b>知識(shí)點(diǎn)匯總

    華納云:如何修改MySQL的默認(rèn)端口

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