mysql bandwidth_内存带宽对mysql影响多大
展開全部
網(wǎng)絡(luò)是32313133353236313431303231363533e59b9ee7ad9431333433643732數(shù)據(jù)庫基礎(chǔ)架構(gòu)的主要部分。但是,通常性能基準測試是在本地計算機上完成的,客戶端和服務(wù)器并置在一起。這樣做是為了簡化結(jié)構(gòu)并排除一個以上的變量(網(wǎng)絡(luò)部分),但是我們也忽略了網(wǎng)絡(luò)對性能的影響。對于像 MySQL Group Replication 這樣的產(chǎn)品集群來說,網(wǎng)絡(luò)更為重要。在這篇文章中,我將介紹網(wǎng)絡(luò)設(shè)置。這些都是簡單而微不足道的,但卻是讓我們更了解復(fù)雜網(wǎng)絡(luò)設(shè)置效果的基石。
安裝我將使用兩臺裸機服務(wù)器,通過專用的 10Gb 網(wǎng)絡(luò)連接。我將通過使用 ethtool-s eth1 speed1000duplex full autoneg off 命令更改網(wǎng)絡(luò)接口速度來模擬 1Gb 網(wǎng)絡(luò)。
我將運行一個簡單的基準:sysbench oltp_read_only --mysql-ssl=on --mysql-host=172.16.0.1 --tables=20 --table-size=10000000 --mysql-user=sbtest --mysql-password=sbtest --threads=$i --time=300 --report-interval=1 --rand-type=pareto
運行時線程數(shù)從 1 到 2048 不等。所有數(shù)據(jù)都適合內(nèi)存 -innodb_buffer_pool_size 足夠大。因此工作負載在內(nèi)存中占用大量 CPU:沒有 IO 開銷。操作系統(tǒng):Ubuntu 16.04
N1 基準-網(wǎng)絡(luò)帶寬在第一個實驗中,我將比較 1Gb 網(wǎng)絡(luò)和 10Gb 網(wǎng)絡(luò)。顯然,1Gb 網(wǎng)絡(luò)性能是這里的瓶頸,如果我們遷移到 10Gb 網(wǎng)絡(luò),我們可以顯著改善我們的結(jié)果。要查看 1Gb 網(wǎng)絡(luò)是瓶頸,我們可以檢查 PMM(percona 的數(shù)據(jù)庫監(jiān)控管理開源工具) 中的網(wǎng)絡(luò)流量圖表:
我們可以看到我們的吞吐量達到了 116 MiB/s(或 928 Mb/s),這非常接近網(wǎng)絡(luò)帶寬。但是,如果我們的網(wǎng)絡(luò)基礎(chǔ)設(shè)施僅限于 1Gb,我們可以做些什么?
N2 基準-協(xié)議壓縮MySQL 協(xié)議中有一個功能,您可以看到客戶端和服務(wù)器之間的網(wǎng)絡(luò)交換壓縮:--mysql-compression=on。讓我們看看它將如何影響我們的結(jié)果。
這是一個有趣的結(jié)果。當我們使用所有可用的網(wǎng)絡(luò)帶寬時,協(xié)議壓縮實際上有助于改善結(jié)果。
但是 10Gb 網(wǎng)絡(luò)不是這種情況。壓縮/解壓縮所需的 CPU 資源是一個限制因素,通過壓縮,吞吐量實際上只達到我們沒有壓縮的一半。現(xiàn)在讓我們談?wù)剠f(xié)議加密,以及如何使用 SSL 影響我們的結(jié)果。
N3基準-網(wǎng)絡(luò)加密
對于 1Gb 網(wǎng)絡(luò),SSL 加密顯示了一些損失 - 單線程約為 10% - 但是否則我們再次達到帶寬限制。我們還看到了大量線程的可擴展性,這在 10Gb 網(wǎng)絡(luò)案例中更為明顯。使用 10Gb 時,SSL 協(xié)議在 32 個線程后不會擴展。實際上,它似乎是 MySQL 目前使用的 OpenSSL 1.0 中的可伸縮性問題。在我們的實驗中,我們看到 OpenSSL 1.1.1 提供了更好的可伸縮性,但是您需要從鏈接到 OpenSSL 1.1.1 的源代碼中獲得特殊的 MySQL 構(gòu)建才能實現(xiàn)這一點。我沒有在這里展示它們,因為我們沒有生產(chǎn)二進制文件。
結(jié)論
1. 網(wǎng)絡(luò)性能和利用率將影響一般應(yīng)用程序吞吐量。
2. 檢查您是否達到了網(wǎng)絡(luò)帶寬限制。
3. 如果受到網(wǎng)絡(luò)帶寬的限制,協(xié)議壓縮可以改善結(jié)果,但如果不是,則可能會使事情變得更糟。
4. SSL 加密在線程數(shù)量較少的情況下會有一些損失(約10%),但對于高并發(fā)工作負載,它不會擴展。
總結(jié)
以上是生活随笔為你收集整理的mysql bandwidth_内存带宽对mysql影响多大的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: brew 安装mysql5.6_mac使
- 下一篇: mysql稠化报表_使用Partitio