MySQL优化

一、服务器硬件的优化

提升硬件设备,例如尽量选择高频率的内存(频率不能高于主板的支持)、提升网络带宽、使用SSD高速磁盘、提升CPU性能等。

CPU的选择:

  • 对于数据库并发比较高的场景,CPU的数量比频率重要。
  • 对于CPU密集型场景和频繁执行复杂SQL的场景,CPU的频率越高越好。

假如CPU是2颗12核的,那么可以设置:

innodb_purge_threads=4
innodb_read_io_threads=12
innodb_write_io_threads=12

二、MySQL数据库配置优化

  • 表示缓冲池字节大小。
    推荐值为物理内存的50%~80%。
    innodb_buffer_pool_size=134217728

  • 用来控制redo log刷新到磁盘的策略。
    innodb_flush_log_at_trx_commit=1

  • 每提交1次事务同步写到磁盘中,可以设置为n。
    sync_binlog=1

  • 脏页占innodb_buffer_pool_size的比例时,触发刷脏页到磁盘。 推荐值为25%~50%。
    innodb_max_dirty_pages_pct=30

  • 后台进程最大IO性能指标。
    默认200,如果SSD,调整为5000~20000
    innodb_io_capacity=200

  • 指定innodb共享表空间文件的大小。
    innodb_data_file_path

  • 慢查询日志

你可能感兴趣的:(mysql,mysql,服务器,数据库)