溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Percona Server、MariaDB、MYSQL區(qū)別及常用調(diào)優(yōu)MYSQL方法簡析

發(fā)布時間:2020-04-30 11:09:07 來源:億速云 閱讀:1152 作者:三月 欄目:MySQL數(shù)據(jù)庫

本文主要給大家簡單講講Percona Server、MariaDB、MYSQL區(qū)別及常用調(diào)優(yōu)MYSQL方法簡析,相關(guān)專業(yè)術(shù)語大家可以上網(wǎng)查查或者找一些相關(guān)書籍補充一下,這里就不涉獵了,我們就直奔Percona Server、MariaDB、MYSQL區(qū)別及常用調(diào)優(yōu)MYSQL方法簡析主題,希望可以給大家?guī)硪恍嶋H幫助。

一、Percona Server、MariaDB和MYSQL的區(qū)別

1、Mysql三種存儲引擎
MySQL提供了兩種存儲引擎:MyISAM和 InnoDB,MySQL4和5使用默認的MyISAM存儲引擎。從MYSQL5.5開始,MySQL已將默認存儲引擎從MyISAM更改為InnoDB。MyISAM沒有提供事務(wù)支持,而InnoDB提供了事務(wù)支持。XtraDB是InnoDB存儲引擎的增強版本,被設(shè)計用來更好的使用更新計算機硬件系統(tǒng)的性能,同時還包含有一些在高性能環(huán)境下的新特性。

2、Percona  Server分支
Percona Server由領(lǐng)先的MySQL咨詢公司Percona發(fā)布。
Percona Server是一款獨立的數(shù)據(jù)庫產(chǎn)品,其可以完全與MySQL兼容,可以在不更改代碼的情況了下將存儲引擎更換成XtraDB。是最接近官方MySQL Enterprise發(fā)行版的版本。
Percona提供了高性能XtraDB引擎,還提供PXC高可用解決方案,并且附帶了percona-toolkit等DBA管理工具箱。

3、MariaDB
MariaDB由MySQL的創(chuàng)始人開發(fā),MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品。
MariaDB提供了MySQL提供的標準存儲引擎,即MyISAM和InnoDB,10.0.9版起使用XtraDB(名稱代號為Aria)來代替MySQL的InnoDB。

4、如何選擇
一般綜合多年使用經(jīng)驗和性能對比,首選Percona分支,其次是MariaDB,如果你不想冒一點風險,那就選擇MYSQL官方版本。

Percona Server、MariaDB、MYSQL區(qū)別及常用調(diào)優(yōu)MYSQL方法簡析

二、常用的MYSQL調(diào)優(yōu)策略

1、硬件層相關(guān)優(yōu)化
修改云服務(wù)器BIOS設(shè)置
選擇Performance Per Watt Optimized(DAPC)模式,發(fā)揮CPU最大性能。
Memory Frequency(內(nèi)存頻率)選擇Maximum Performance(最佳性能)
內(nèi)存設(shè)置菜單中,啟用Node Interleaving,避免NUMA問題。

2、磁盤I/O相關(guān)
使用SSD硬盤
如果是磁盤陣列存儲,建議陣列卡同時配備CACHE及BBU模塊,可明顯提升IOPS。
raid級別盡量選擇raid10,而不是raid5。

3、文件系統(tǒng)層優(yōu)化
使用deadline/noop這兩種I/O調(diào)度器,千萬別用cfq
使用xfs文件系統(tǒng),千萬別用ext3;ext4勉強可用,但業(yè)務(wù)量很大的話,則一定要用xfs;
文件系統(tǒng)mount參數(shù)中增加:noatime, nodiratime, nobarrier幾個選項(nobarrier是xfs文件系統(tǒng)特有的)。

4、內(nèi)核參數(shù)優(yōu)化
修改vm.swappiness參數(shù),降低swap使用率。RHEL7/centos7以上則慎重設(shè)置為0,可能發(fā)生OOM。調(diào)整vm.dirty_background_ratio、vm.dirty_ratio內(nèi)核參數(shù),以確保能持續(xù)將臟數(shù)據(jù)刷新到磁盤,避免瞬間I/O寫。產(chǎn)生等待。調(diào)整net.ipv4.tcp_tw_recycle、net.ipv4.tcp_tw_reuse都設(shè)置為1,減少TIME_WAIT,提高TCP效率。

5、Mysql參數(shù)優(yōu)化建議
建議設(shè)置default-storage-engine=InnoDB,強烈建議不要再使用MyISAM引擎。
調(diào)整innodb_buffer_pool_size的大小,如果是單實例且絕大多數(shù)是InnoDB引擎表的話,可考慮設(shè)置為物理內(nèi)存的50% -70%左右。
設(shè)置innodb_file_per_table = 1,使用獨立表空間。
調(diào)整innodb_data_file_path = ibdata1:1G:autoextend,不要用默認的10M,在高并發(fā)場景下,性能會有很大提升。
設(shè)置innodb_log_file_size=256M,設(shè)置innodb_log_files_in_group=2,基本可以滿足大多數(shù)應(yīng)用場景。
調(diào)整max_connection(最大連接數(shù))、max_connection_error(最大錯誤數(shù))設(shè)置,根據(jù)業(yè)務(wù)量大小進行設(shè)置。
另外,open_files_limit、innodb_open_files、table_open_cache、table_definition_cache可以設(shè)置大約為max_connection的10倍左右大小。
key_buffer_size建議調(diào)小,32M左右即可,另外建議關(guān)閉query cache。
mp_table_size和max_heap_table_size設(shè)置不要過大,另外sort_buffer_size、join_buffer_size、read_buffer_size、read_rnd_buffer_size等設(shè)置也不要過大。

Percona Server、MariaDB、MYSQL區(qū)別及常用調(diào)優(yōu)MYSQL方法簡析就先給大家講到這里,對于其它相關(guān)問題大家想要了解的可以持續(xù)關(guān)注我們的行業(yè)資訊。我們的板塊內(nèi)容每天都會捕捉一些行業(yè)新聞及專業(yè)知識分享給大家的。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI