婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MYSQL大量寫入問題優(yōu)化詳解

MYSQL大量寫入問題優(yōu)化詳解

熱門標(biāo)簽:電話外呼系統(tǒng)改號 曲靖移動外呼系統(tǒng)公司 武漢網(wǎng)絡(luò)外呼系統(tǒng)服務(wù)商 怎樣在地圖標(biāo)注銷售區(qū)域 外呼系統(tǒng)打電話上限是多少 百應(yīng)電話機(jī)器人優(yōu)勢 啥是企業(yè)400電話辦理 南昌三維地圖標(biāo)注 地圖標(biāo)注費(fèi)用是多少
摘要:大家提到Mysql的性能優(yōu)化都是注重于優(yōu)化sql以及索引來提升查詢性能,大多數(shù)產(chǎn)品或者網(wǎng)站面臨的更多的高并發(fā)數(shù)據(jù)讀取問題。然而在大量寫入數(shù)據(jù)場景該如何優(yōu)化呢?

今天這里主要給大家介紹,在有大量寫入的場景,進(jìn)行優(yōu)化的方案。

總的來說MYSQL數(shù)據(jù)庫寫入性能主要受限于數(shù)據(jù)庫自身的配置,以及操作系統(tǒng)的性能,磁盤IO的性能。主要的優(yōu)化手段包括以下幾點(diǎn):

1、調(diào)整數(shù)據(jù)庫參數(shù)

(1) innodb_flush_log_at_trx_commit

默認(rèn)為1,這是數(shù)據(jù)庫的事務(wù)提交設(shè)置參數(shù),可選值如下:

0: 日志緩沖每秒一次地被寫到日志文件,并且對日志文件做到磁盤操作的刷新,但是在一個事務(wù)提交不做任何操作。

1:在每個事務(wù)提交時,日志緩沖被寫到日志文件,對日志文件做到磁盤操作的刷新。

2:在每個提交,日志緩沖被寫到文件,但不對日志文件做到磁盤操作的刷新。對日志文件每秒刷新一次。

有人會說如果改為不是1的值會不會不安全呢? 安全性比較如下:

在 mysql 的手冊中,為了確保事務(wù)的持久性和一致性,都是建議將這個參數(shù)設(shè)置為 1 。出廠默認(rèn)值是 1,也是最安全的設(shè)置。

當(dāng)innodb_flush_log_at_trx_commit和sync_binlog 都為 1 時是最安全的,在mysqld 服務(wù)崩潰或者服務(wù)器主機(jī)crash的情況下,binary log 只有可能丟失最多一個語句 或者一個事務(wù)。

但是這種情況下,會導(dǎo)致頻繁的io操作,因此該模式也是最慢的一種方式。

  • 當(dāng)innodb_flush_log_at_trx_commit設(shè)置為0,mysqld進(jìn)程的崩潰會導(dǎo)致上一秒鐘所有事務(wù)數(shù)據(jù)的丟失。
  • 當(dāng)innodb_flush_log_at_trx_commit設(shè)置為2,只有在操作系統(tǒng)崩潰或者系統(tǒng)掉電的情況下,上一秒鐘所有事務(wù)數(shù)據(jù)才可能丟失。

針對同一個表通過c#代碼按照系統(tǒng)業(yè)務(wù)流程進(jìn)行批量插入,性能比較如下所示:

  • (a.相同條件下:innodb_flush_log_at_trx_commit=0,插入50W行數(shù)據(jù)所花時間25.08秒;
  • (b.相同條件下:innodb_flush_log_at_trx_commit=1,插入50W行數(shù)據(jù)所花時間17分21.91秒;
  • (c.相同條件下:innodb_flush_log_at_trx_commit=2,插入50W行數(shù)據(jù)所花時間1分0.35秒。

結(jié)論:設(shè)置為0的情況下,數(shù)據(jù)寫入是最快的,能迅速提升數(shù)據(jù)庫的寫入性能, 但有可能丟失上1秒的數(shù)據(jù)。

(2) temp_table_size,heap_table_size

這兩個參數(shù)主要影響臨時表temporary table 以及內(nèi)存數(shù)據(jù)庫引擎memory engine表的寫入,設(shè)置太小,甚至?xí)霈F(xiàn)table is full的報錯信息.

要根據(jù)實(shí)際業(yè)務(wù)情況設(shè)置大于需要寫入的數(shù)據(jù)量占用空間大小才行。

(3) max_allowed_packet=256M,net_buffer_length=16M,set autocommit=0

備份和恢復(fù)時如果設(shè)置好這三個參數(shù),可以讓你的備份恢復(fù)速度飛起來哦!

(4) innodb_data_file_path=ibdata1:1G;ibdata2:64M:autoextend

很顯然表空間后面的autoextend就是讓表空間自動擴(kuò)展,不夠默認(rèn)情況下只有10M,而在大批量數(shù)據(jù)寫入的場景,不妨把這個參數(shù)調(diào)大;

讓表空間增長時一次盡可能分配更多的表空間,避免在大批量寫入時頻繁的進(jìn)行文件擴(kuò)容

(5) innodb_log_file_size,innodb_log_files_in_group,innodb_log_buffer_size

設(shè)置事務(wù)日志的大小,日志組數(shù),以及日志緩存。默認(rèn)值很小,innodb_log_file_size默認(rèn)值才幾十M,innodb_log_files_in_group默認(rèn)為2。

然而在innodb中,數(shù)據(jù)通常都是先寫緩存,再寫事務(wù)日志,再寫入數(shù)據(jù)文件。設(shè)置太小,在大批量數(shù)據(jù)寫入的場景,必然會導(dǎo)致頻繁的觸發(fā)數(shù)據(jù)庫的檢查點(diǎn),去把 日志中的數(shù)據(jù)寫入磁盤數(shù)據(jù)文件。頻繁的刷新buffer以及切換日志,就會導(dǎo)致大批量寫入數(shù)據(jù)性能的降低。

當(dāng)然,也不宜設(shè)置過大。過大會導(dǎo)致數(shù)據(jù)庫異常宕機(jī)時,數(shù)據(jù)庫重啟時會去讀取日志中未寫入數(shù)據(jù)文件的臟數(shù)據(jù),進(jìn)行redo,恢復(fù)數(shù)據(jù)庫,太大就會導(dǎo)致恢復(fù)的時間變的更長。當(dāng)恢復(fù)時間遠(yuǎn)遠(yuǎn)超出用戶的預(yù)期接受的恢復(fù)時間,必然會引起用戶的抱怨。

這方面的設(shè)置倒可以參考華為云的數(shù)據(jù)庫默認(rèn)設(shè)置,在華為云2核4G的環(huán)境,貌似默認(rèn)配置的buffer:16M,log_file_size:1G----差不多按照mysql官方建議達(dá)到總內(nèi)存的25%了;而日志組files_in_group則設(shè)置為4組。

2核4G這么低的硬件配置,由于參數(shù)設(shè)置的合理性,已經(jīng)能抗住每秒數(shù)千次,每分鐘8萬多次的讀寫請求了。

而假如在寫入數(shù)據(jù)量遠(yuǎn)大于讀的場景,或者說方便隨便改動參數(shù)的場景,可以針對大批量的數(shù)據(jù)導(dǎo)入,再做調(diào)整,把log_file_size調(diào)整的更大,可以達(dá)到innodb_buffer_pool_size的25%~100%。

(6) innodb_buffer_pool_size設(shè)置MySQL Innodb的可用緩存大小。理論上最大可以設(shè)置為服務(wù)器總內(nèi)存的80%.

設(shè)置越大的值,當(dāng)然比設(shè)置小的值的寫入性能更好。比如上面的參數(shù)innodb_log_file_size就是參考innodb_buffer_pool_size的大小來設(shè)置的。

(7) innodb_thread_concurrency=16

故名思意,控制并發(fā)線程數(shù),理論上線程數(shù)越多當(dāng)然會寫入越快。當(dāng)然也不能設(shè)置過大官方建議是CPU核數(shù)的兩倍左右最合適。

(8) write_buffer_size

控制單個會話單次寫入的緩存大小,默認(rèn)值4K左右,一般可以不用調(diào)整。然而在頻繁大批量寫入場景,可以嘗試調(diào)整為2M,你會發(fā)現(xiàn)寫入速度會有一定的提升。

(9) innodb_buffer_pool_instance

默認(rèn)為1,主要設(shè)置內(nèi)存緩沖池的個數(shù),簡單一點(diǎn)來說,是控制并發(fā)讀寫innodb_buffer_pool的個數(shù)。

在大批量寫入的場景,同樣可以調(diào)大該參數(shù),也會帶來顯著的性能提升。

(10) bin_log

二進(jìn)制日志,通常會記錄數(shù)據(jù)庫的所有增刪改操作。然而在大量導(dǎo)數(shù)據(jù),比如數(shù)據(jù)庫還原的時候不妨臨時關(guān)閉bin_log,關(guān)掉對二進(jìn)制日志的寫入,讓數(shù)據(jù)只寫入數(shù)據(jù)文件,迅速完成數(shù)據(jù)恢復(fù),完了再開啟吧。

2、減少磁盤IO,提高磁盤讀寫效率

包括如下方法:

(1):數(shù)據(jù)庫系統(tǒng)架構(gòu)優(yōu)化

a:做主從復(fù)制;

比如部署一個雙主從,雙主從模式部署是為了相互備份,能保證數(shù)據(jù)安全,不同的業(yè)務(wù)系統(tǒng)連接不同的數(shù)據(jù)庫服務(wù)器,結(jié)合ngnix或者keepalive自動切換的功能實(shí)現(xiàn)負(fù)載均衡以及故障時自動切換。

通過這種架構(gòu)優(yōu)化,分散業(yè)務(wù)系統(tǒng)的并發(fā)讀寫IO從一臺服務(wù)器到多臺服務(wù)器,同樣能提高單臺數(shù)據(jù)庫的寫入速度。

b:做讀寫分離

和1中要考慮的問題一樣,可以減輕單臺服務(wù)器的磁盤IO,還可以把在服務(wù)器上的備份操作移到備服務(wù)器,減輕主服務(wù)器的IO壓力,從而提升寫入性能。

(2):硬件優(yōu)化

a: 在資源有限的情況下,安裝部署的時候,操作系統(tǒng)中應(yīng)有多個磁盤,把應(yīng)用程序,數(shù)據(jù)庫文件,日志文件等分散到不同的磁盤存儲,減輕每個磁盤的IO,從而提升單個磁盤的寫入性能。

b:采用固態(tài)硬盤SSD

如果資源足夠可以采用SSD存儲,SSD具有高速寫入的特性,同樣也能顯著提升所有的磁盤IO操作。

當(dāng)然還有更多的硬件或者軟件優(yōu)化方法,這里就不一一列舉了。

到此這篇關(guān)于MYSQL大量寫入問題優(yōu)化詳解的文章就介紹到這了,更多相關(guān)MYSQL大量寫入內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • MySQL高并發(fā)生成唯一訂單號的方法實(shí)現(xiàn)
  • MySQL 數(shù)據(jù)庫如何解決高并發(fā)問題
  • Tomcat+Mysql高并發(fā)配置優(yōu)化講解
  • PHP利用Mysql鎖解決高并發(fā)的方法
  • PHP+MySQL高并發(fā)加鎖事務(wù)處理問題解決方法
  • 用于App服務(wù)端的MySQL連接池(支持高并發(fā))
  • MySQL中實(shí)現(xiàn)高性能高并發(fā)計(jì)數(shù)器方案(例如文章點(diǎn)擊數(shù))

標(biāo)簽:黑河 隨州 甘南 吉林 資陽 錦州 荊州 滄州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MYSQL大量寫入問題優(yōu)化詳解》,本文關(guān)鍵詞  MYSQL,大量,寫入,問題,優(yōu)化,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MYSQL大量寫入問題優(yōu)化詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于MYSQL大量寫入問題優(yōu)化詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    午夜天堂影视香蕉久久| 91在线观看美女| 日韩美女精品在线| 欧美性受xxxx黑人xyx| 亚洲精品一二三四区| 一区二区三区色| 国产二区国产一区在线观看| 国产成人精品免费网站| 欧美猛男超大videosgay| 亚洲精品一区二区三区影院 | 欧美日韩国产成人在线91| 久久精品二区亚洲w码| 蜜臀国产一区二区三区在线播放| 国产成人亚洲精品青草天美| 色一区在线观看| 久久精品欧美日韩精品| 丝袜亚洲另类丝袜在线| 波多野结衣的一区二区三区| 日韩一本二本av| 日韩免费看网站| 国产精品电影院| 国产综合久久久久久久久久久久| 丁香六月综合激情| 亚洲第一久久影院| 国产精品 欧美精品| 欧美专区日韩专区| 国产精品另类一区| 色88888久久久久久影院野外 | 中文字幕一区二区三中文字幕| 视频一区二区欧美| 一区二区三区.www| 成人理论电影网| 欧美激情在线一区二区| 国产欧美日本一区二区三区| 日本亚洲三级在线| 亚洲一区二区偷拍精品| 91在线观看一区二区| 91小视频免费观看| 北条麻妃一区二区三区| 一区二区三区国产精品| 一区二区三区在线免费视频| 奇米一区二区三区av| 一区二区三区欧美久久| 久久久久亚洲蜜桃| 国产成人av在线影院| 久久久影视传媒| 国产精品 日产精品 欧美精品| 国产欧美一区二区精品性色| 国产成人午夜电影网| 日本一区二区成人| 成人av在线资源网站| 欧美亚一区二区| 亚洲成a人v欧美综合天堂| 精品1区2区3区| 日本午夜精品视频在线观看| 大美女一区二区三区| 激情都市一区二区| 国产欧美一区二区三区网站| 成人高清av在线| 精品噜噜噜噜久久久久久久久试看 | 免费观看久久久4p| 欧美白人最猛性xxxxx69交| 国产在线精品不卡| 欧美美女视频在线观看| 在线精品视频免费观看| 麻豆成人久久精品二区三区小说| 精品少妇一区二区三区在线播放| 日韩激情视频在线观看| 欧美日韩亚州综合| 日本午夜精品一区二区三区电影| 国产午夜三级一区二区三| 色av成人天堂桃色av| 麻豆国产精品官网| 一区二区三区在线观看视频 | 久久精工是国产品牌吗| 亚洲人妖av一区二区| 国产区在线观看成人精品| 精品少妇一区二区三区| 亚洲一区二区三区中文字幕| 亚洲视频在线一区观看| 久久99精品久久久久久国产越南| 国产成人综合在线| 精品福利在线导航| 欧美xxxx在线观看| 久久网这里都是精品| 国产亚洲欧美激情| 中文字幕一区二区日韩精品绯色| 成人欧美一区二区三区视频网页| 亚洲视频免费在线观看| 亚洲激情av在线| 亚洲va国产va欧美va观看| 免费亚洲电影在线| 国产成人免费网站| 99久久精品免费精品国产| 精品视频在线看| 欧美成人一区二区三区在线观看| 中文字幕中文字幕一区二区| 亚洲黄色av一区| 美女爽到高潮91| 成人免费福利片| 欧美熟乱第一页| 欧美一级理论片| 最新不卡av在线| 理论片日本一区| 一本大道久久a久久综合| 日韩欧美一级二级| 亚洲欧美日韩一区| 国产麻豆日韩欧美久久| 欧美在线观看视频一区二区 | 亚洲精品欧美在线| 看电视剧不卡顿的网站| 91网站在线播放| 欧美一级黄色大片| 亚洲成人动漫av| 91欧美一区二区| 国产精品美女一区二区三区| 日韩国产精品久久| 91天堂素人约啪| 国产女人18毛片水真多成人如厕| 蜜桃一区二区三区在线| 欧美精品少妇一区二区三区| 亚洲天堂成人在线观看| 亚洲四区在线观看| 99re这里都是精品| 欧美国产亚洲另类动漫| 捆绑紧缚一区二区三区视频| 91精品国产综合久久精品图片 | 精品国产凹凸成av人网站| 久久久久99精品国产片| 亚洲一区在线视频| 在线视频欧美区| 一区二区三区小说| 欧美综合在线视频| 亚洲一区二区视频在线| 欧美日韩国产综合一区二区| 亚洲一区二区精品视频| 欧美日本国产视频| 亚洲成人在线免费| 欧美日本乱大交xxxxx| 日韩在线一二三区| 日韩一区二区精品葵司在线| 美日韩一区二区三区| 欧美精品一区二区三区在线 | 麻豆成人av在线| 91精品国产黑色紧身裤美女| 日韩国产精品大片| 精品国一区二区三区| 国产一区在线视频| 久久麻豆一区二区| 久久精品国产在热久久| 欧美成人精精品一区二区频| 日日夜夜精品视频天天综合网| 5566中文字幕一区二区电影| 日本在线不卡视频一二三区| 欧美丰满嫩嫩电影| 国产一区二区三区免费| 久久久久国产免费免费| 精品一区二区三区在线视频| 国产女人水真多18毛片18精品视频| 成人动漫中文字幕| 一区二区日韩电影| 欧美日韩精品一二三区| 国产一区二区三区四| 亚洲欧美色综合| 久久亚洲精品小早川怜子| 成人18视频日本| 视频精品一区二区| 国产精品无遮挡| 欧美日韩国产a| 国产成人丝袜美腿| 亚洲制服丝袜一区| 久久久久国产一区二区三区四区| 日本精品一级二级| 国产成人亚洲综合色影视| 亚洲影视在线播放| wwwwxxxxx欧美| 欧美精品色综合| bt欧美亚洲午夜电影天堂| 香蕉久久一区二区不卡无毒影院| 久久精品夜夜夜夜久久| 国产日韩欧美综合在线| 日韩欧美国产成人一区二区| 在线日韩av片| 91麻豆文化传媒在线观看| 久久精品国产成人一区二区三区| 国产亚洲美州欧州综合国| 91精品国产aⅴ一区二区| av激情成人网| 国产不卡免费视频| 国产酒店精品激情| 另类小说一区二区三区| 一区二区三区免费| 国产欧美日产一区| 久久欧美一区二区| 日韩视频免费观看高清在线视频| 在线国产亚洲欧美| 色诱视频网站一区| 成人av电影在线网| 老司机精品视频线观看86| 最新日韩av在线|