电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

優化MySQL的21個建議

瀏覽:12日期:2023-10-17 12:34:27

今天一個朋友向我咨詢怎么去優化 MySQL,我按著思維整理了一下,大概粗的可以分為21個方向。 還有一些細節東西(table cache, 表設計,索引設計,程序端緩存之類的)先不列了,對一個系統,初期能把下面做完也是一個不錯的系統。

優化MySQL的21個建議

 1. 要確保有足夠的內存

數據庫能夠高效的運行,最關建的因素需要內存足更大了,能緩存住數據,更新也可以在內存先完成。但不同的業務對內存需要強度不一樣,一推薦內存要占到數據的15-25%的比例,特別的熱的數據,內存基本要達到數據庫的80%大小。

 2. 需要更多更快的CPU

MySQL 5.6可以利用到64個核,而MySQL每個query只能運行在一個CPU上,所以要求更多的CPU,更快的CPU會更有利于并發。

 3. 要選擇合適的操作系統

在官方建議估計最推薦的是Solaris, 從實際生產中看CentOS, REHL都是不錯的選擇,推薦使用CentOS, REHL 版本為6以后的,當然Oracle Linux也是一個不錯的選擇。雖然從MySQL 5.5后對Windows做了優化,但也不推薦在高并發環境中使用windows.

 4. 合理的優化系統的參數

更改文件句柄 ulimit -n 默認1024 太小

進程數限制 ulimit -u 不同版本不一樣

禁掉NUMA numctl -interleave=all

 5. 選擇合適的內存分配算法

默認的內存分配就是c的malloc 現在也出現許多優化的內存分配算法:

jemalloc and tcmalloc

從MySQL 5.5后支持聲明內存儲方法。

[mysqld_safe]

malloc-lib = tcmalloc

或是直接指到so文件

[mysqld_safe]

malloc-lib=/usr/local/lib/libtcmalloc_minimal.so

 6. 使用更快的存儲設備ssd或是固態卡

存儲介質十分影響MySQL的隨機讀取,寫入更新速度。新一代存儲設備固態ssd及固態卡的出現也讓MySQL 大放異彩,也是淘寶在去IOE中干出了一個漂亮仗。

 7. 選擇良好的文件系統

推薦XFS, Ext4,如果還在使用ext2,ext3的同學請盡快升級別。 推薦XFS,這個也是今后一段時間Linux會支持一個文件系統。

文件系統強烈推薦: XFS

 8. 優化掛載文件系統的參數

掛載XFS參數:

(rw, noatime,nodiratime,nobarrier)

掛載ext4參數:

ext4 (rw,noatime,nodiratime,nobarrier,data=ordered)

如果使用SSD或是固態盤需要考慮:

? innodb_page_size = 4K

? Innodb_flush_neighbors = 0

 9. 選擇適合的IO調度

正常請下請使用deadline 默認是noop

echo dealine >/sys/block/{DEV-NAME}/queue/scheduler

 10. 選擇合適的Raid卡Cache策略

請使用帶電的Raid,啟用WriteBack, 對于加速redo log ,binary log, data file都有好處。

 11. 禁用Query Cache

Query Cache在Innodb中有點雞肋,Innodb的數據本身可以在Innodb buffer pool中緩存,Query Cache屬于結果集緩存,如果開啟Query Cache更新寫入都要去檢查query cache反而增加了寫入的開銷。

在MySQL 5.6中Query cache是被禁掉了。

 12. 使用Thread Pool

現在一個數據對應5個以上App場景比較,但MySQL有個特性隨著連接增多的情況下性能反而下降,所以對于連接超過200的以后場景請考慮使用thread pool. 這是一個偉大的發明。

 13. 合理調整內存 13.1 減少連接的內存分配

連接可以用thread_cache_size緩存,觀查屬于比較屬不如thread pool給力。數據庫在連上分配的內存如下:

max_used_connections * (

read_buffer_size +

read_rnd_buffer_size +

join_buffer_size +

sort_buffer_size +

binlog_cache_size +

thread_stack +

2 * net_buffer_length …

)

 13.2 使較大的buffer pool

要把60-80%的內存分給innodb_buffer_pool_size. 這個不要超過數據大小了,另外也不要分配超過80%不然會利用到swap.

 14. 合理選擇LOG刷新機制

Redo Logs:

- innodb_flush_log_at_trx_commit = 1 // 最安全

- innodb_flush_log_at_trx_commit = 2 // 較好性能

- innodb_flush_log_at_trx_commit = 0 // 最好的情能

binlog :

binlog_sync = 1 需要group commit支持,如果沒這個功能可以考慮binlog_sync=0來獲得較佳性能。

數據文件:

innodb_flush_method = O_DIRECT

 15. 請使用Innodb表

可以利用更多資源,在線alter操作有所提高。 目前也支持非中文的full text, 同時支持Memcache API訪問。目前也是MySQL最優秀的一個引擎。

如果你還在MyISAM請考慮快速轉換。

 16. 設置較大的Redo log

以前Percona 5.5和官方MySQL 5.5比拼性能時,勝出的一個Tips就是分配了超過4G的Redo log ,而官方MySQL5.5 redo log不能超過4G. 從 MySQL 5.6后可以超過4G了,通常建Redo log加起來要超過500M。 可以通過觀查redo log產生量,分配Redo log大于一小時的量即可。

 17. 優化磁盤的IO

innodb_io_capactiy 在sas 15000轉的下配置800就可以了,在ssd下面配置2000以上。

在MySQL 5.6:

innodb_lru_scan_depth = innodb_io_capacity / innodb_buffer_pool_instances

innodb_io_capacity_max = min(2000, 2 * innodb_io_capacity)

 18. 使用獨立表空間

目前來看新的特性都是獨立表空間支持:

truncate table 表空間回收

表空間傳輸

較好的去優化碎片等管理性能的增加,

整體上來看使用獨立表空間是沒用的。

 19. 配置合理的并發

innodb_thread_concurrency =并發這個參數在Innodb中變化也是最頻繁的一個參數。不同的版本,有可能不同的小版本也有變動。一般推薦:

在使用thread pool 的情況下:

innodb_thread_concurrency = 0 就可以了。

如果在沒有thread pool的情況下:

5.5 推薦:innodb_thread_concurrency =16 – 32

5.6 推薦innodb_thread_concurrency = 36

 20. 優化事務隔離級別

默認是 Repeatable read

推薦使用Read committed binlog格式使用mixed或是Row

較低的隔離級別 = 較好的性能

 21. 注重監控

任環境離不開監控,如果少了監控,有可能就會陷入盲人摸象。 推薦zabbix+mpm構建監控。

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 成都亚克力制品,PVC板,双色板雕刻加工,亚克力门牌,亚克力标牌,水晶字雕刻制作-零贰捌广告 | ◆大型吹塑加工|吹塑加工|吹塑代加工|吹塑加工厂|吹塑设备|滚塑加工|滚塑代加工-莱力奇塑业有限公司 | 高精度-恒温冷水机-螺杆式冰水机-蒸发冷冷水机-北京蓝海神骏科技有限公司 | 英语词典_成语词典_日语词典_法语词典_在线词典网 | 沧州友城管业有限公司-内外涂塑钢管-大口径螺旋钢管-涂塑螺旋管-保温钢管生产厂家 | 山东风淋室_201/304不锈钢风淋室净化设备厂家-盛之源风淋室厂家 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | 超细粉碎机|超微气流磨|气流分级机|粉体改性设备|超微粉碎设备-山东埃尔派粉碎机厂家 | 济南菜鸟驿站广告|青岛快递车车体|社区媒体-抖音|墙体广告-山东揽胜广告传媒有限公司 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 物流公司电话|附近物流公司电话上门取货| 螺旋绞龙叶片,螺旋输送机厂家,山东螺旋输送机-淄博长江机械制造有限公司 | sfp光模块,高速万兆光模块工厂-性价比更高的光纤模块制造商-武汉恒泰通 | 模型公司_模型制作_沙盘模型报价-中国模型网 | 【连江县榕彩涂料有限公司】官方网站 | 山东集装箱活动房|济南集装箱活动房-济南利森集装箱有限公司 | 污水处理设备,一体化泵站,一体化净水设备-「梦之洁环保设备厂家」 | 楼承板-开闭口楼承板-无锡海逵楼承板 | 工业电炉,台车式电炉_厂家-淄博申华工业电炉有限公司 | 微水泥_硅藻泥_艺术涂料_艺术漆_艺术漆加盟-青岛泥之韵环保壁材 武汉EPS线条_EPS装饰线条_EPS构件_湖北博欧EPS线条厂家 | 派克防爆伺服电机品牌|国产防爆伺服电机|高低温伺服电机|杭州摩森机电科技有限公司 | 西安微信朋友圈广告投放_微信朋友圈推广_西安度娘网络科技有限公司 | 顺辉瓷砖-大国品牌-中国顺辉 | 高中学习网-高考生信息学习必备平台| 广东高华家具-公寓床|学生宿舍双层铁床厂家【质保十年】 | 潍坊大集网-潍坊信息港-潍坊信息网| 硫化罐_蒸汽硫化罐_大型硫化罐-山东鑫泰鑫智能装备有限公司 | 深圳宣传片制作_产品视频制作_深圳3D动画制作公司_深圳短视频拍摄-深圳市西典映画传媒有限公司 | 蓄电池回收,ups电池后备电源回收,铅酸蓄电池回收,机房电源回收-广州益夫铅酸电池回收公司 | 橡胶粉碎机_橡胶磨粉机_轮胎粉碎机_轮胎磨粉机-河南鼎聚重工机械制造有限公司 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 涂层测厚仪_光泽度仪_uv能量计_紫外辐照计_太阳膜测试仪_透光率仪-林上科技 | YT保温材料_YT无机保温砂浆_外墙保温材料_南阳银通节能建材高新技术开发有限公司 | 东莞市天进机械有限公司-钉箱机-粘箱机-糊箱机-打钉机认准东莞天进机械-厂家直供更放心! | 自动检重秤-动态称重机-重量分选秤-苏州金钻称重设备系统开发有限公司 | 蓄电池回收,ups电池后备电源回收,铅酸蓄电池回收,机房电源回收-广州益夫铅酸电池回收公司 | 【ph计】|在线ph计|工业ph计|ph计厂家|ph计价格|酸度计生产厂家_武汉吉尔德科技有限公司 | 飞歌臭氧发生器厂家_水处理臭氧发生器_十大臭氧消毒机品牌 | 球磨机 选矿球磨机 棒磨机 浮选机 分级机 选矿设备厂家 | 挤出机_橡胶挤出机_塑料挤出机_胶片冷却机-河北伟源橡塑设备有限公司 | PAS糖原染色-CBA流式多因子-明胶酶谱MMP-上海研谨生物科技有限公司 | 反渗透水处理设备|工业零排放|水厂设备|软化水设备|海南净水设备--海南水处理设备厂家 |