最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL運行在docker容器性能損失解析

 更新時間:2023年11月26日 16:21:56   作者:花酒鋤作田  
這篇文章主要為大家介紹了MySQL運行在docker容器中的性能損失解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

前言

自從使用docker以來,就經(jīng)常聽說MySQL數(shù)據(jù)庫最好別運行在容器中,性能會損失很多。一些之前沒使用過容器的同事,對數(shù)據(jù)庫運行在容器中也是忌諱莫深,甚至只要數(shù)據(jù)庫跑在容器中出現(xiàn)性能問題時,首先就把問題推到容器上。

那么到底會損失多少,性能損失會很多嗎?

為此我裝了兩個MySQL,版本都是8.0.34。一個用官網(wǎng)二進制包安裝,另一個用docker hub的MySQL鏡像安裝。兩個MySQL都運行在同一臺機器,但不同時運行,先后運行測試。測試工具用的sysbench,運行在另一臺機器。

提前聲明:測試流程比較簡單,只是用sysbench測了混合讀寫場景,測試次數(shù)也較少,不具有權(quán)威性。感興趣的話,可以自行完善測試流程。

如果對后文沒什么興趣,這里也可以直接說結(jié)論:單表百萬級以下時,非容器和容器的性能差異并不多。單表千萬級時,容器MySQL大概會損耗10% ~ 20%的性能。

應用版本備注
Debian12.0操作系統(tǒng)。4C16G
docker20.10.17容器運行時
MySQL(非docker)8.0.34基于官方的二進制安裝包
MySQL(docker)8.0.34使用docker hub的鏡像
sysbench1.0.20壓測工具

MySQL配置

MySQL安裝后創(chuàng)建測試用的sysbench用戶和sysbench數(shù)據(jù)庫,調(diào)整innodb_buffer_pool_size為2GB。

docker容器的網(wǎng)絡(luò)配置為bridge,掛載數(shù)據(jù)目錄。

sysbench命令

  • 準備數(shù)據(jù)
sysbench --db-driver=mysql --mysql-host=192.168.3.21 --mysql-port=3306 --mysql-user=sysbench --mysql-password=123456 --mysql-db=sysbench --table_size=10000000 --tables=20 --threads=4 oltp_read_write prepare
  • 執(zhí)行測試
sysbench --db-driver=mysql --mysql-host=192.168.3.21 --mysql-port=3306 --mysql-user=sysbench --mysql-password=123456 --mysql-db=sysbench --time=300 --threads=8 --report-interval=10 oltp_read_write run
  • 清理測試數(shù)據(jù)
sysbench --db-driver=mysql --mysql-host=192.168.3.21 --mysql-port=3306 --mysql-user=sysbench --mysql-password=123456 --mysql-db=sysbench --table_size=10000000 --tables=20 --threads=4 oltp_read_write cleanup

測試結(jié)果

單表1000w數(shù)據(jù),20張表,測試4次。

MySQL運行環(huán)境測試序列總SQL執(zhí)行數(shù)每秒SQL數(shù)每秒事務(wù)數(shù)延遲時間(平均)延遲時間(95%)
非容器1379809312658.84632.7812.6420.00
非容器2391457813047.91652.2812.2617.01
非容器3405986713531.79676.4611.8215.55
非容器4377239012574.00628.5812.7219.65
容器1323067810768.41538.2814.8626.20
容器2353857311794.68589.6213.5719.29
容器3356794311892.56594.5013.4517.63
容器4361620412053.53602.5813.2717.32

平均統(tǒng)計:

MySQL運行環(huán)境總SQL執(zhí)行數(shù)每秒SQL數(shù)每秒事務(wù)數(shù)延遲時間(平均)延遲時間(95%)
非容器3,886,23212,953.14647.5312.3618.05
容器3,488,35011,627.3581.2513.7920.11
環(huán)比-10.24%-10.24%-10.24%+11.57%+11.41%

在測千萬級數(shù)據(jù)量之前,測過幾輪幾十萬級的數(shù)據(jù)量,非容器和容器版的MySQL并沒有多大區(qū)別。當數(shù)據(jù)量逐漸增多時,差異就愈加明顯。目前測單表1000w已經(jīng)出現(xiàn)10%左右的性能損耗,如果單表數(shù)據(jù)繼續(xù)增大,性能損耗應該也會更多。

以上就是MySQL運行在docker容器性能損失解析的詳細內(nèi)容,更多關(guān)于MySQL docker性能的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Mysql配置my.ini文件的簡單成功版本

    Mysql配置my.ini文件的簡單成功版本

    my.ini是MySQL數(shù)據(jù)庫中使用的配置文件,修改這個文件可以達到更新配置的目的,下面這篇文章主要給大家介紹了關(guān)于Mysql配置my.ini文件的簡單成功版本,需要的朋友可以參考下
    2023-04-04
  • Linux系統(tǒng)中MySQL的常用操作命令

    Linux系統(tǒng)中MySQL的常用操作命令

    本文給大家匯總介紹了下載Linux系統(tǒng)中操作mysql的一些常用的命令,非常實用,有需要的小伙伴可以參考下
    2018-02-02
  • MySQL建立唯一索引實現(xiàn)插入重復自動更新

    MySQL建立唯一索引實現(xiàn)插入重復自動更新

    這篇文章給大家分享的是當向數(shù)據(jù)插入數(shù)據(jù)時,判斷字段是不是存在,存在執(zhí)行更新操作,如果不存在就執(zhí)行插入操作的方法,有需要的朋友們可以參考借鑒。
    2016-09-09
  • 一文搞懂Mysql的行級鎖到底是怎么加的

    一文搞懂Mysql的行級鎖到底是怎么加的

    在MySQL中行級鎖是一種非常重要的鎖機制,用于在高并發(fā)環(huán)境下提高數(shù)據(jù)庫的性能和數(shù)據(jù)一致性,這篇文章主要介紹了Mysql的行級鎖到底是怎么加的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2026-04-04
  • MySQL 四種連接和多表查詢詳解

    MySQL 四種連接和多表查詢詳解

    這篇文章主要介紹了MySQL多表查詢,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-07-07
  • Mysql體系化探討令人頭疼的JOIN運算

    Mysql體系化探討令人頭疼的JOIN運算

    這篇文章主要介紹了體系化探討令人頭疼的JOIN運算,本文將對JOIN運算進行體系化深入的探討,根據(jù)自己工作經(jīng)驗及參考業(yè)界經(jīng)典案例,針對性地提出語法簡化和性能優(yōu)化的方法論,需要的朋友可以參考下
    2022-07-07
  • mysql 字符串轉(zhuǎn)數(shù)組的實現(xiàn)示例

    mysql 字符串轉(zhuǎn)數(shù)組的實現(xiàn)示例

    有時候,我們需要將一個字符串拆分成一個數(shù)組,本文主要介紹了mysql 字符串轉(zhuǎn)數(shù)組的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-01-01
  • MySQL DNS的使用過程詳細分析

    MySQL DNS的使用過程詳細分析

    當 mysql 客戶端連接 mysql 服務(wù)器 (進程為:mysqld),mysqld 會創(chuàng)建一個新的線程來處理該請求。該線程先檢查是否主機名在主機名緩存中
    2012-11-11
  • MySQL觸發(fā)器概念、原理與用法詳解

    MySQL觸發(fā)器概念、原理與用法詳解

    這篇文章主要介紹了MySQL觸發(fā)器概念、原理與用法,結(jié)合實例形勢詳細分析了mysql觸發(fā)器相關(guān)概念、原理、創(chuàng)建、用法及操作注意事項,需要的朋友可以參考下
    2019-07-07
  • MLSQL Stack如何讓流調(diào)試更加簡單詳解

    MLSQL Stack如何讓流調(diào)試更加簡單詳解

    這篇文章主要給大家介紹了關(guān)于MLSQL Stack如何讓流調(diào)試更加簡單的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用MLSQL具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-06-06

最新評論

定远县| 广德县| 子洲县| 旬阳县| 金沙县| 陆川县| 临洮县| 江山市| 监利县| 县级市| 丰都县| 盖州市| 晋宁县| 泸水县| 马鞍山市| 翼城县| 莎车县| 上思县| 嘉定区| 涞水县| 胶州市| 白玉县| 临城县| 鄂托克旗| 扶绥县| 陵川县| 宜黄县| 河池市| 清流县| 延津县| 商丘市| 荣昌县| 长岛县| 阳谷县| 衡南县| 商河县| 遂昌县| 偏关县| 措勤县| 沭阳县| 无极县|