主頁(yè) > 知識(shí)庫(kù) > my.cnf參數(shù)配置實(shí)現(xiàn)InnoDB引擎性能優(yōu)化

my.cnf參數(shù)配置實(shí)現(xiàn)InnoDB引擎性能優(yōu)化

熱門(mén)標(biāo)簽:電子地圖標(biāo)注電話 上海智能外呼系統(tǒng)代理商 寧波企業(yè)外呼系統(tǒng)收費(fèi) 聊城智能外呼系統(tǒng)運(yùn)營(yíng)商 ps制作地圖標(biāo)注gif 扎樣申請(qǐng)400電話 地圖標(biāo)注人員兼職 成都優(yōu)派外呼系統(tǒng) 沈陽(yáng)電銷(xiāo)外呼系統(tǒng)原理是什么

在網(wǎng)上看了無(wú)數(shù)的my.cnf的配置,大多數(shù)提到的配置無(wú)外乎這幾個(gè):

1. innodb_buffer_pool_size
2. innodb_log_file_size
3. innodb_log_buffer_size
4. innodb_flush_log_at_trx_commit

然后自己寫(xiě)了兩個(gè)例子,一個(gè)單線程的,一個(gè)多線程的來(lái)通過(guò)改變配置參數(shù)來(lái)測(cè)試是否提高了性能。結(jié)果是只有innodb_flush_log_at_trx_commit可以提高性能,對(duì)于1,2,3參數(shù)無(wú)論是開(kāi)其中某一個(gè),還是三個(gè)同時(shí)調(diào)節(jié)都沒(méi)有影響到測(cè)試性能。我想了下,可能是我的測(cè)試數(shù)據(jù)量還不夠大造成的,后續(xù)有條件了再更大的數(shù)據(jù)量測(cè)試一下這3個(gè)參數(shù)。

這里詳細(xì)說(shuō)一下innodb_flush_log_at_trx_commit:

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

結(jié)果

當(dāng)設(shè)置為0,該模式速度最快,但不太安全,mysqld進(jìn)程的崩潰會(huì)導(dǎo)致上一秒鐘所有事務(wù)數(shù)據(jù)的丟失。
當(dāng)設(shè)置為1,該模式是最安全的,但也是最慢的一種方式。在mysqld 服務(wù)崩潰或者服務(wù)器主機(jī)crash的情況下,binary log 只有可能丟失最多一個(gè)語(yǔ)句或者一個(gè)事務(wù)。
當(dāng)設(shè)置為2,該模式速度較快,也比0安全,只有在操作系統(tǒng)崩潰或者系統(tǒng)斷電的情況下,上一秒鐘所有事務(wù)數(shù)據(jù)才可能丟失。

注意:由于進(jìn)程調(diào)度策略問(wèn)題,這個(gè)“每秒執(zhí)行一次 flush(刷到磁盤(pán))操作”并不是保證100%的“每秒”。

結(jié)論:innodb_flush_log_at_trx_commit設(shè)置為0或者2的時(shí)候速度差不多,兩者都比設(shè)置為1的時(shí)候快很多。

這里又讓我想到了InnoDB和MyISAM引擎的區(qū)別,InnoDB的優(yōu)勢(shì)在于并發(fā)處理情況下比MyISAM快。而我的線程池?cái)?shù)量是根據(jù)cpu的線程數(shù)來(lái)設(shè)定的,然后我把線程池的數(shù)量設(shè)置比cpu線程數(shù)大,更大,再大,結(jié)果我的測(cè)試程序性能又提高了,我醉了,原來(lái)是我對(duì)線程池的理解太淺薄了。線程池的最優(yōu)大小

您可能感興趣的文章:
  • MySQL5.6.17數(shù)據(jù)庫(kù)安裝 如何配置My.ini文件
  • MySql 5.7.20安裝及data和my.ini文件的配置
  • MySQL 5.6 & 5.7最優(yōu)配置文件模板(my.ini)
  • mysql服務(wù)性能優(yōu)化—my.cnf_my.ini配置說(shuō)明詳解(16G內(nèi)存)
  • MySQL優(yōu)化配置文件my.ini(discuz論壇)
  • 對(duì)MySQL配置參數(shù) my.ini/my.cnf的詳細(xì)解析
  • Mysql my.ini 配置文件詳解
  • MySQL中配置文件my.cnf因權(quán)限問(wèn)題導(dǎo)致無(wú)法啟動(dòng)的解決方法
  • mysql 查看當(dāng)前使用的配置文件my.cnf的方法(推薦)
  • MySQL修改my.cnf配置不生效的解決方法
  • MySQL 5.5.x my.cnf參數(shù)配置優(yōu)化詳解
  • MySQL配置文件my.cnf優(yōu)化詳解(mysql5.5)
  • MySQL性能優(yōu)化之路---修改配置文件my.cnf
  • MariaDB(Mysql分支)my.cnf配置文件中文注釋版
  • MySQL配置文件my.cnf參數(shù)優(yōu)化和中文詳解
  • MySQL配置文件my.cnf中文詳解附mysql性能優(yōu)化方法分享
  • MySQL配置文件my.cnf中文版對(duì)照
  • MySQL 配置文件my.cnf 例子最詳細(xì)翻譯
  • MySql優(yōu)化之InnoDB,4GB內(nèi)存,多查詢(xún)的my.ini中文配置方案詳解

標(biāo)簽:宿州 三明 汕頭 內(nèi)江 AXB 林芝 咸寧 朔州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《my.cnf參數(shù)配置實(shí)現(xiàn)InnoDB引擎性能優(yōu)化》,本文關(guān)鍵詞  my.cnf,參數(shù),配置,實(shí)現(xiàn),InnoDB,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《my.cnf參數(shù)配置實(shí)現(xiàn)InnoDB引擎性能優(yōu)化》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于my.cnf參數(shù)配置實(shí)現(xiàn)InnoDB引擎性能優(yōu)化的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章