mysql性能優化學習筆記-參數介紹及優化建議

MySQL服務器參數介紹

mysql參數介紹(客戶端中執行),儘可能只修改session級別的參數。mysql

全局參數(新鏈接的session纔會生效,原有已經鏈接的session不生效)sql

  • set global 參數名=參數值;
  • set @@global.參數名 :=參數值;

會話參數數據庫

  • set [session] 參數名=參數值;
  • set @@session.參數名 :=參數值;

內存配置相關參數

  • 肯定可使用的內存的上限
  • 肯定mysql每一個鏈接使用的內存
sort_buffer_size:須要注意,每一個鏈接分配指定大小的內存;

join_buffer_size;

read_buffer_size;

read_rnd_buffer_size。

上述都爲每一個進程分別進行設置,因此要注意配置大小。
  • 肯定須要爲操做系統保留多少內存
  • 如何爲緩存池分配內存
Innodb_buffer_pool_size:總內存 - (每一個線程所需內存 * 鏈接數) - 系統保留內存

key_buffer_size:主要用於myisam引擎

IO相關配置參數

Innodb I/O相關配置緩存

  • Innodb_log_file_size:單個日誌文件大小
  • Innodb_log_files_in_group:日誌文件的個數
  • 事務日誌總大小:
Innodb_log_files_in_group * Innodb_log_file_size
  • Innodb_log_buffer_size:日誌緩衝區大小
  • Innodb_flush_log_at_trx_commit:日誌刷新的頻率
0:每秒進行一次log寫入cache,並flush log到磁盤。若是mysql關閉或重啓會致使至少1秒日誌的丟失。

1:『默認』,在每次事務提交執行log寫入cache,並flush log到磁盤。保證不會致使事務日誌的丟失。

2:【建議】,每次事務提交,執行log數據寫入到cache。每秒執行一次flush log到磁盤。
  • Innodb_flush_method=O_DIRECT:Innodb刷新的方式。
  • Innodb_file_per_table=1:表空間。強烈建議啓用。
  • Innodb_doublewrite=1:

Myisam I/O相關配置安全

  • delay_key_write
OFF:每次寫操做後刷新新建緩衝區的髒塊到磁盤
ON:只對建表是指定了delay_key_write選項的表使用延遲刷新。
ALL:對全部MYISAM表使用延遲鍵寫入。會致使表損壞,使用相關命令進行修復。

安全相關配置參數

  • expire_logs_days指定自動清理binlog的天數
  • max_allowed_packet控制mysql能夠接收的包的大小
  • skip_name_resolve禁用DNS查找
  • sysdate_is_now確保sysdate和now返回的日期是同樣的。(同一條sql同時使用sysdate返回的結果有多是不一樣的,於是建議啓用)
  • read_only禁止非super用戶寫權限:在作主從複製時,建議備庫啓用這個配置項。
  • skip_slave_start警用slave自動恢復,(從服務器中進行配置)
  • sql_mode設置mysql所使用的sql模式。(建議不要在生產換環境中調整這個值,有可能會致使系統不可用)
strict_trans_tables

no_engine_subtitution

no_zero_date

no_zero_in_date

only_full_group_by:select字句須要所有列出group by字段,不然報錯。

其它經常使用配置參數

  • sync_binlog控制mysql如何向磁盤中刷新binlog
  • tmp_table_size和max_heap_table_size控制內存臨時表的大小。兩個值應保持一致
  • max_connections容許最大鏈接數,通常設置爲2000均可以。

數據庫設計對性能的影響(全部優化的重點,其它的全部優化加起來都未必有數據庫設計優化對性能的影響大)

  • 過度的反範式話爲表創建太多的列
  • 過多的範式話形成太多表的關聯(最多隻容許61個表關聯)
  • 在OLTP中使用不恰當的分區表
  • 使用外鍵保證數據的完整性(性能很低,建議不要使用外鍵約束)

優化建議

性能優化順序性能優化

  • 數據庫結構和sql語句優化
  • 數據庫引擎的選擇和參數配置(不要混合使用存儲引擎)
  • 系統選擇及優化
  • 硬件升級
相關文章
相關標籤/搜索