本篇內(nèi)容介紹了“MySQL server安裝前后需要做哪些優(yōu)化”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
成都創(chuàng)新互聯(lián)基于成都重慶香港及美國等地區(qū)分布式IDC機(jī)房數(shù)據(jù)中心構(gòu)建的電信大帶寬,聯(lián)通大帶寬,移動(dòng)大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)德陽服務(wù)器托管報(bào)價(jià),主機(jī)托管價(jià)格性價(jià)比高,為金融證券行業(yè)服務(wù)器托管,ai人工智能服務(wù)器托管提供bgp線路100M獨(dú)享,G口帶寬及機(jī)柜租用的專業(yè)成都idc公司。
一、硬件部分
1、建議單獨(dú)跑MySQL server的服務(wù)器 使用ssd磁盤,提高磁盤的io
2、建議選擇使用RAID 10 而非RAID 5 RAID 10 雖然浪費(fèi)了一部分磁盤空間,但是比RAID5 的IO能力提高不少
二、OS部分
1、建議使用deadline/noop這兩種I/O調(diào)度器,系統(tǒng)默認(rèn)的為cfq
2、建議使用xfs文件系統(tǒng)、高并發(fā)情況下凸顯出其性能優(yōu)勢
三、系統(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ù)開啟,可快速減少在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)緩存臟頁數(shù)量達(dá)到系統(tǒng)內(nèi)存百分之多少時(shí)(如5%)就會(huì)觸發(fā)pdflush/flush/kdmflush等后臺回寫進(jìn)程運(yùn)行,將一定緩存的臟頁異步地刷入外存
vm.dirty_ratio而這個(gè)參數(shù)則指定了當(dāng)文件系統(tǒng)緩存臟頁數(shù)量達(dá)到系統(tǒng)內(nèi)存百分之多少時(shí)(如10%),系統(tǒng)不得不開始處理緩存臟頁(因?yàn)榇藭r(shí)臟頁數(shù)量已經(jīng)比較多,為了避免數(shù)據(jù)丟失需要將一定臟頁刷入外存);在此過程中很多應(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存儲引擎、MySQL5.5之后的默認(rèn)存儲引擎是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è)置的過大,會(huì)導(dǎo)致system的swap空間被占用,導(dǎo)致操作系統(tǒng)變慢,從而減低sql查詢的效率。
innodb的logfile就是事務(wù)日志,用來在 mysqlcrash后的恢復(fù).所以設(shè)置合理的大小對于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)入只針對單個(gè)表,而不是整個(gè)共享表空間
5. 對于大量的delete操作,更易于回收磁盤空間
7. 易于安全審計(jì)
有三個(gè)值:fdatasync(默認(rèn)),O_DSYNC,O_DIRECT
為O_DSYNC時(shí),innodb會(huì)使用O_SYNC方式打開和刷寫redo log,使用fsync()刷寫數(shù)據(jù)文件
在類unix操作系統(tǒng)中,文件的打開方式為O_DIRECT會(huì)最小化緩沖對io的影響,該文件的io是直接在用戶空間的buffer上操作的,
并且io操作是同步的,因此不管是read()系統(tǒng)調(diào)用還是write()系統(tǒng)調(diào)用,數(shù)據(jù)都保證是從磁盤上讀取的
5、建議設(shè)置binlog_format=row 默認(rèn)為statement,強(qiáng)烈建議設(shè)置為row模式 記錄每一條記錄的修改,有利于主從同步
“MySQL server安裝前后需要做哪些優(yōu)化”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!