溫馨提示×

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

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

mysql的性能該如何優(yōu)化

發(fā)布時(shí)間:2020-06-03 17:31:03 來(lái)源:網(wǎng)絡(luò) 閱讀:242 作者:三月 欄目:MySQL數(shù)據(jù)庫(kù)

下文給大家?guī)?lái)有關(guān)mysql的性能該如何優(yōu)化內(nèi)容,相信大家一定看過(guò)類似的文章。我們給大家?guī)?lái)的有何不同呢?一起來(lái)看看正文部分吧,相信看完mysql的性能該如何優(yōu)化你一定會(huì)有所收獲。

文件系統(tǒng):

 優(yōu)化文件系統(tǒng)掛載參數(shù):文件系統(tǒng)掛載參數(shù)是在/etc/fstab文件中修改,重啟時(shí)候生效。noatime表示不記錄訪問(wèn)時(shí)間,nodiratime不記錄目錄的訪問(wèn)時(shí)間。barrier=0,表示關(guān)閉barrier功能。其中nobarrier是xfs文件系統(tǒng)特有,ext4文件系統(tǒng)并無(wú)此參數(shù)。

擴(kuò)大文件描述符:

    1、動(dòng)態(tài)修改,重啟失效,只能使用root,并且當(dāng)前session有效:ulimit -n 65535

    2、修改配置文件,永久生效,在/etc/security/limits.conf配置文件中增加:          

       soft nofile 65535
       soft nproc 65535
       hard nofile 65535
       hard nproc 65535

sync_binlog:

sync_binlog=0,當(dāng)事務(wù)提交之后,MySQL不做fsync之類的磁盤同步指令刷新binlog_cache中的信息到磁盤,而讓Filesystem自行決定什么時(shí)候來(lái)做同步,或者cache滿了之后才同步到磁盤。

sync_binlog=n,當(dāng)每進(jìn)行n次事務(wù)提交之后,MySQL將進(jìn)行一次fsync之類的磁盤同步指令來(lái)將binlog_cache中的數(shù)據(jù)強(qiáng)制寫(xiě)入磁盤。

innodb_flush_log_at_trx_commit:

如果innodb_flush_log_at_trx_commit設(shè)置為0,log buffer將每秒一次地寫(xiě)入log file中,并且log file的flush(刷到磁盤)操作同時(shí)進(jìn)行.該模式下,在事務(wù)提交的時(shí)候,不會(huì)主動(dòng)觸發(fā)寫(xiě)入磁盤的操作。
如果innodb_flush_log_at_trx_commit設(shè)置為1,每次事務(wù)提交時(shí)MySQL都會(huì)把log buffer的數(shù)據(jù)寫(xiě)入log file,并且flush(刷到磁盤)中去.
如果innodb_flush_log_at_trx_commit設(shè)置為2,每次事務(wù)提交時(shí)MySQL都會(huì)把log buffer的數(shù)據(jù)寫(xiě)入log file.但是flush(刷到磁盤)操作并不會(huì)同時(shí)進(jìn)行。該模式下,MySQL會(huì)每秒執(zhí)行一次 flush(刷到磁盤)操作。

強(qiáng)烈建議關(guān)閉query cache。通過(guò)配置文件設(shè)置query_cache_size = 0、query_cache_type = 0即可。

分布式優(yōu)化

分庫(kù)分表:

這里也可以分為2類:

(1)通過(guò)前端應(yīng)用代碼邏輯實(shí)現(xiàn)的方式,實(shí)現(xiàn)表分拆的方式。這樣做對(duì)應(yīng)用程序的侵入性比較大,但是數(shù)據(jù)處理邏輯的過(guò)程把控在自己手上,有異常可以自主定位。

(2)通過(guò)中間件的方式實(shí)現(xiàn),目前常用的mycat、cobar實(shí)現(xiàn)數(shù)據(jù)分片。

讀寫(xiě)分離:

一般通過(guò)數(shù)據(jù)庫(kù)中間件的方式實(shí)現(xiàn),常用的中間件例如:maxscale、mycat、cobar、altas等

對(duì)于上文關(guān)于mysql的性能該如何優(yōu)化,大家覺(jué)得是自己想要的嗎?如果想要了解更多相關(guān),可以繼續(xù)關(guān)注我們的行業(yè)資訊板塊。 

向AI問(wèn)一下細(xì)節(jié)

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

AI