国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MySQL運行在docker容器中會損失多少性能

這篇具有很好參考價值的文章主要介紹了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%的性能。

應(yīng)用 版本 備注
Debian 12.0 操作系統(tǒng)。4C16G
docker 20.10.17 容器運行時
MySQL(非docker) 8.0.34 基于官方的二進制安裝包
MySQL(docker) 8.0.34 使用docker hub的鏡像
sysbench 1.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%)
非容器 1 3798093 12658.84 632.78 12.64 20.00
非容器 2 3914578 13047.91 652.28 12.26 17.01
非容器 3 4059867 13531.79 676.46 11.82 15.55
非容器 4 3772390 12574.00 628.58 12.72 19.65
容器 1 3230678 10768.41 538.28 14.86 26.20
容器 2 3538573 11794.68 589.62 13.57 19.29
容器 3 3567943 11892.56 594.50 13.45 17.63
容器 4 3616204 12053.53 602.58 13.27 17.32

平均統(tǒng)計:

MySQL運行環(huán)境 總SQL執(zhí)行數(shù) 每秒SQL數(shù) 每秒事務(wù)數(shù) 延遲時間(平均) 延遲時間(95%)
非容器 3,886,232 12,953.14 647.53 12.36 18.05
容器 3,488,350 11,627.3 581.25 13.79 20.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ù)增大,性能損耗應(yīng)該也會更多。文章來源地址http://www.zghlxwxcb.cn/news/detail-747131.html

到了這里,關(guān)于MySQL運行在docker容器中會損失多少性能的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 向正在運行的docker mysql容器中 導入sql文件

    當需要將 SQL 文件導入正在運行的 Docker MySQL 容器時,可以按照以下步驟操作。 首先,使用 docker cp 命令將 SQL 文件從本地主機復(fù)制到正在運行的 Docker 容器中。請確保您已經(jīng)在主機上擁有該 SQL 文件。執(zhí)行以下命令: 這將把本地路徑下的 your_file.sql 文件復(fù)制到運行的容器中的

    2024年02月16日
    瀏覽(35)
  • 逸學Docker【java工程師基礎(chǔ)】2.Docker鏡像容器基本操作+安裝MySQL鏡像運行

    逸學Docker【java工程師基礎(chǔ)】2.Docker鏡像容器基本操作+安裝MySQL鏡像運行

    在這里我們的應(yīng)用程序比如redis需要構(gòu)建成鏡像, 它作為一個Docker文件就可以進行 構(gòu)建 ,構(gòu)建完以后他是在 本地的 ,我們可以 推送 到鏡像服務(wù)器,逆向可以 拉取 到上傳的鏡像,或者說我們可以保存為 壓縮包 進行 相互傳遞 。 在本地的鏡像可以傳來傳去,本身也可以查看

    2024年02月01日
    瀏覽(50)
  • (四)docker:為mysql和java jar運行環(huán)境創(chuàng)建同一網(wǎng)絡(luò),容器互聯(lián)

    (四)docker:為mysql和java jar運行環(huán)境創(chuàng)建同一網(wǎng)絡(luò),容器互聯(lián)

    看了很多資料,說做互聯(lián)的一個原因是容器內(nèi)ip不固定,關(guān)掉重啟后如果有別的容器啟動,之前的ip會被占用,所以做互聯(lián)創(chuàng)建一個網(wǎng)絡(luò),讓幾個容器處于同一個網(wǎng)絡(luò),就可以互聯(lián)還不受關(guān)閉再啟動ip會改變的影響,但是其實我拿我做的mysql測試,不管是代碼里還是sql連接工具

    2024年02月06日
    瀏覽(90)
  • 使用Docker容器部署java運行環(huán)境(java8 + mysql5.7 + redis5.0 + nginx1.14.1

    使用Docker容器部署java運行環(huán)境(java8 + mysql5.7 + redis5.0 + nginx1.14.1

    環(huán)境:阿里云ECS服務(wù)器 1.1 安裝工具 1.2 為yum源添加docker倉庫位置 1.3 將軟件包信息提前在本地索引緩存 (非必要,建議執(zhí)行,可以提升yum安裝的速度,報錯去掉fast試試) 1.4 安裝Docker 傻瓜式安裝 點擊y 1.5 啟動Docker 1.6 設(shè)置開機自啟動 1.7 安裝完成后可以測試一下,是否安裝成功

    2024年02月02日
    瀏覽(32)
  • MYSQL單表數(shù)據(jù)量達到多少時性能會嚴重下降的問題探討!

    MYSQL單表數(shù)據(jù)量達到多少時性能會嚴重下降的問題探討!

    不知從什么時候開始,有著MySQL單表數(shù)據(jù)量超過2000萬性能急劇下降的說法。 在中國互聯(lián)網(wǎng)技術(shù)圈流傳著這么一個說法:MySQL 單表數(shù)據(jù)量大于 2000 萬行,性能會明顯下降。事實上,這個傳聞?chuàng)f最早起源于百度。具體情況大概是這樣的,當年的 DBA 測試 MySQL性能時發(fā)現(xiàn),當單表

    2024年02月09日
    瀏覽(23)
  • docker-java 用Java操作docker創(chuàng)建容器并運行運行容器

    參考上一篇文章:Docker設(shè)置開啟遠程訪問 Apache HttpClient 5介紹: This transport is based on Apache HttpClient library version 5, which has a great flexibility and allows us to implement all Docker-specific features and protocols required, without having to use internal APIs or anything. It has everything to become the default transport of

    2023年04月09日
    瀏覽(29)
  • 優(yōu)化 docker 容器性能慢問題

    優(yōu)化 docker 容器性能慢問題

    問題: 部署環(huán)境下tomcat容器啟動緩慢,耗時10多分鐘,性能較差,同時后端服務(wù)響應(yīng)較慢。 排查: 宿主環(huán)境: ?docker使用情況: 對比結(jié)果CPU、內(nèi)存使用率都不高。 針對docker環(huán)境進行檢查: ??vmstat 1 10 ?使用vmstat統(tǒng)計每間隔1秒共10條信息的結(jié)果: 結(jié)果中看了一看出cpu、內(nèi)存

    2024年02月10日
    瀏覽(16)
  • 在Docker守護進程停機期間保持容器運行(即重啟Docker時,正在運行的容器不會停止)

    ? 在默認情況下,當 Docker 守護進程終止時,它將關(guān)閉正在運行的容器。不過,我們可以配置該守護進程,以便在該守護進程不可用時容器仍在運行。這種功能稱為實時恢復(fù)。實時還原選項有助于減少由于守護進程崩潰、計劃中斷或升級而導致的容器停機時間。 Docker官方相關(guān)

    2024年02月03日
    瀏覽(96)
  • Docker:進入容器(處于后臺運行的容器)

    Docker:進入容器(處于后臺運行的容器)

    容器啟動時如果指定了-d參數(shù),在后臺運行容器,或者通過docker start重啟已經(jīng)停止的容器 可以通過以下兩種方法進入容器: 1.docker attach 容器ID 注:使用attach進入容器后,如果在容器中執(zhí)行exit或ctrl+d,會停止容器 2.docker exec -it 容器ID /bin/bash 注:通過這種方式進入容器后,如

    2024年02月11日
    瀏覽(38)
  • 【Docker 】Docker 客戶端,容器使用,啟動容器,啟動已停止運行的容器,停止一個容器,進入容器

    【Docker 】Docker 客戶端,容器使用,啟動容器,啟動已停止運行的容器,停止一個容器,進入容器

    作者簡介: 辭七七,目前大一,正在學習C/C++,Java,Python等 作者主頁: 七七的個人主頁 文章收錄專欄: 七七的閑談 歡迎大家點贊 ?? 收藏 ? 加關(guān)注哦!???? docker 客戶端非常簡單 ,我們可以直接輸入 docker 命令來查看到 Docker 客戶端的所有命令選項。 可以通過命令 dock

    2024年02月11日
    瀏覽(58)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包