六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

21個優化MySQL的建議

[摘要]今天一個朋友向我咨詢怎么去優化 MySQL,我按著思維整理了一下,大概粗的可以分為21個方向。 還有一些細節東西(table cache, 表設計,索引設計,程序端緩存之類的)先不列了,對一個系統,初期能把下面做完也是一個不錯的系統。  1. 要確保有足夠的內存  數據庫能夠高效的運行,最關建的因...

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

21個優化MySQL的建議

 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構建監控。

以上就是21個優化MySQL的建議的詳細內容,更多請關注php中文網其它相關文章!


學習教程快速掌握從入門到精通的SQL知識。




主站蜘蛛池模板: 色呦呦在线看 | 亚洲欧美国产另类 | 亚洲欧美在线精品 | 三级国产视频 | 新久草视频 | 天天躁狠狠躁夜夜躁2021 | 天天射视频 | 欧美一二三区 | 午夜三级理论在线观看视频 | 热久久网站 | 日本理论视频 | 四虎影院毛片 | 色一色在线观看视频网站 | 日本欧美国产精品第一页久久 | 午夜合集 | 欧美亚洲欧美日韩中文二区 | 天天操天天干天搞天天射 | 五月激情丁香 | 色综合久久久久久久 | 在线观看 一区二区 麻豆 | 欧美资源在线 | 亚洲欧美国产精品专区久久 | 日韩一区二区三区视频在线观看 | 色屁屁影院免费观看入口 | 亚洲永久 | 亚洲综合视频在线观看 | 天天综合色天天综合 | 欧美亚洲综合在线 | 日本午夜精品 | 日韩精品视频在线免费观看 | 天天做天天做天天综合网 | 青草免费在线 | 亚洲综合激情网 | 日韩免费大片 | 亚洲欧美在线一区二区 | 婷婷九月 | 日本高清色本免费现在观看 | 亚洲成色www久久网站 | 欧美在线色 | 色综合久久综合欧美综合 | 直接黄91麻豆网站 |