溫馨提示×

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

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

MySQL server安裝前后需要做哪些優(yōu)化

發(fā)布時(shí)間:2021-08-23 17:12:26 來(lái)源:億速云 閱讀:121 作者:chen 欄目:MySQL數(shù)據(jù)庫(kù)

本篇內(nèi)容介紹了“MySQL server安裝前后需要做哪些優(yōu)化”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

一、硬件部分

   1、建議單獨(dú)跑MySQL server的服務(wù)器 使用ssd磁盤(pán),提高磁盤(pán)的io

   2、建議選擇使用RAID 10 而非RAID 5    RAID 10 雖然浪費(fèi)了一部分磁盤(pán)空間,但是比RAID5 的IO能力提高不少

二、OS部分

   1、建議使用deadline/noop這兩種I/O調(diào)度器,系統(tǒng)默認(rèn)的為cfq

    2、建議使用xfs文件系統(tǒng)、高并發(fā)情況下凸顯出其性能優(yōu)勢(shì)

三、系統(tǒng)內(nèi)核優(yōu)化

    1、將net.ipv4.tcp_tw_recycle設(shè)置為1

    2、將net.ipv4.tcp_tw_reuse 設(shè)置為1
    3、將以上兩個(gè)參數(shù)開(kāi)啟,可快速減少在TIME-WAIT狀態(tài)TCP連接數(shù),提高TCP效率

    4、將vm.dirty_background_ratio設(shè)置為5
    5、將vm.dirty_ratio設(shè)置為10     

       vm.dirty_background_ratio:這個(gè)參數(shù)指定了當(dāng)文件系統(tǒng)緩存臟頁(yè)數(shù)量達(dá)到系統(tǒng)內(nèi)存百分之多少時(shí)(如5%)就會(huì)觸發(fā)pdflush/flush/kdmflush等后臺(tái)回寫(xiě)進(jìn)程運(yùn)行,將一定緩存的臟頁(yè)異步地刷入外存
        vm.dirty_ratio而這個(gè)參數(shù)則指定了當(dāng)文件系統(tǒng)緩存臟頁(yè)數(shù)量達(dá)到系統(tǒng)內(nèi)存百分之多少時(shí)(如10%),系統(tǒng)不得不開(kāi)始處理緩存臟頁(yè)(因?yàn)榇藭r(shí)臟頁(yè)數(shù)量已經(jīng)比較多,為了避免數(shù)據(jù)丟失需要將一定臟頁(yè)刷入外存);在此過(guò)程中很多應(yīng)用進(jìn)程可能會(huì)因?yàn)橄到y(tǒng)轉(zhuǎn)而處理文件IO而阻塞。

    6、將vm.swappiness設(shè)置為0  可以降低swapping的延遲(前提是確保機(jī)器不會(huì)出現(xiàn)內(nèi)存不足的情況,若出現(xiàn)可能會(huì)被oom掉)

四、MySQL server參數(shù)優(yōu)化

    1、建議使用innodb存儲(chǔ)引擎、MySQL5.5之后的默認(rèn)存儲(chǔ)引擎是innodb引擎,可滿足95%以上用戶需求

    2、建議調(diào)整innodb_buffer_pool_size的大小,主要作用是緩存innodb表的索引,數(shù)據(jù),插入數(shù)據(jù)時(shí)的緩沖默認(rèn)為128M,如果是單獨(dú)MySQL服務(wù)器,建議設(shè)置為物理內(nèi)存的70%--80%左右。
        并不是設(shè)置的越大越好。設(shè)置的過(guò)大,會(huì)導(dǎo)致system的swap空間被占用,導(dǎo)致操作系統(tǒng)變慢,從而減低sql查詢的效率。 
innodb的logfile就是事務(wù)日志,用來(lái)在 mysqlcrash后的恢復(fù).所以設(shè)置合理的大小對(duì)于mysql的性能非常重要

    3、建議設(shè)置innodb_log_files_in_group = 2

    4、建議設(shè)置innodb_file_per_table = 1 使用單獨(dú)表空間易維護(hù)
            1. 如果使用軟鏈接將大表分配到不同的分區(qū)上,易于管理數(shù)據(jù)文件
            3. 易于修復(fù)和恢復(fù)損壞的數(shù)據(jù)
            3.2 導(dǎo)出導(dǎo)入只針對(duì)單個(gè)表,而不是整個(gè)共享表空間
            5. 對(duì)于大量的delete操作,更易于回收磁盤(pán)空間
            7. 易于安全審計(jì)
            有三個(gè)值:fdatasync(默認(rèn)),O_DSYNC,O_DIRECT 
            為O_DSYNC時(shí),innodb會(huì)使用O_SYNC方式打開(kāi)和刷寫(xiě)redo log,使用fsync()刷寫(xiě)數(shù)據(jù)文件 
            在類unix操作系統(tǒng)中,文件的打開(kāi)方式為O_DIRECT會(huì)最小化緩沖對(duì)io的影響,該文件的io是直接在用戶空間的buffer上操作的,
             并且io操作是同步的,因此不管是read()系統(tǒng)調(diào)用還是write()系統(tǒng)調(diào)用,數(shù)據(jù)都保證是從磁盤(pán)上讀取的

     5、建議設(shè)置binlog_format=row   默認(rèn)為statement,強(qiáng)烈建議設(shè)置為row模式 記錄每一條記錄的修改,有利于主從同步

“MySQL server安裝前后需要做哪些優(yōu)化”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向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