MySQL數(shù)據(jù)庫(kù)配置優(yōu)化的方案
數(shù)據(jù)庫(kù)的操作越來(lái)越成為整個(gè)應(yīng)用的性能瓶頸,這對(duì)于Web應(yīng)用尤其明顯。關(guān)于數(shù)據(jù)庫(kù)的性能,這并不只是DBA需要關(guān)心的,而更是后端開發(fā)需要去關(guān)注的事情。
所以本文講解MySQL在各個(gè)方面的優(yōu)化方向,方便后端開發(fā)人員在調(diào)優(yōu)和問(wèn)題排查過(guò)程中找到切入點(diǎn)。
1.服務(wù)器硬件的優(yōu)化
提升硬件設(shè)備,例如選擇盡量高頻率的內(nèi)存(頻率不能高于主板的支持)、提升網(wǎng)絡(luò)帶寬、使用SSD高速磁盤、提升CPU性能等。
CPU的選擇:
對(duì)于數(shù)據(jù)庫(kù)并發(fā)比較高的場(chǎng)景,CPU的數(shù)量比頻率重要。
對(duì)于CPU密集型場(chǎng)景和頻繁執(zhí)行復(fù)雜SQL的場(chǎng)景,CPU的頻率越高越好。
2.MySQL數(shù)據(jù)庫(kù)配置優(yōu)化
表示緩沖池字節(jié)大小。 推薦值為物理內(nèi)存的50%~80%。 innodb_buffer_pool_size 用來(lái)控制redo log刷新到磁盤的策略。 innodb_flush_log_at_trx_commit=1 每提交1次事務(wù)同步寫到磁盤中,可以設(shè)置為n。 sync_binlog=1 臟頁(yè)占innodb_buffer_pool_size的比例時(shí),觸發(fā)刷臟頁(yè)到磁盤。 推薦值為25%~50%。 innodb_max_dirty_pages_pct=30 后臺(tái)進(jìn)程最大IO性能指標(biāo)。 默認(rèn)200,如果SSD,調(diào)整為5000~20000 innodb_io_capacity=200 指定innodb共享表空間文件的大小。 innodb_data_file_path 慢查詢?nèi)罩镜拈撝翟O(shè)置,單位秒。 long_qurey_time=0.3 mysql復(fù)制的形式,row為MySQL8.0的默認(rèn)形式。 binlog_format=row 調(diào)高該參數(shù)則應(yīng)降低interactive_timeout、wait_timeout的值。 max_connections=200 過(guò)大,實(shí)例恢復(fù)時(shí)間長(zhǎng);過(guò)小,造成日志切換頻繁。 innodb_log_file_size 全量日志建議關(guān)閉。 默認(rèn)關(guān)閉。 general_log=0
到此這篇關(guān)于MySQL數(shù)據(jù)庫(kù)配置優(yōu)化的方案的文章就介紹到這了,更多相關(guān)MySQL性能調(diào)優(yōu)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
修改mysql默認(rèn)字符集的兩種方法詳細(xì)解析
下面小編就為大家介紹兩種修改mysql默認(rèn)字符集的方法。需要的朋友可以過(guò)來(lái)參考下2013-08-08
Centos7 移動(dòng)mysql5.7.19 數(shù)據(jù)存儲(chǔ)位置的操作方法
關(guān)于mysql查詢字符集不匹配問(wèn)題的解決方法
mysql創(chuàng)建表設(shè)置表主鍵id從1開始自增的解決方案
MySQL語(yǔ)句之刪除指令deleted和truncate在使用中的異同詳解
MySQL中LAST_INSERT_ID()函數(shù)的實(shí)現(xiàn)
解決MySQL Workbench gnome-keyring-daemon錯(cuò)誤的方法分享

