Mysql innodb是否有任何配置选项可以提高SSD驱动器的性能?

Mysql innodb是否有任何配置选项可以提高SSD驱动器的性能?,mysql,innodb,database-performance,Mysql,Innodb,Database Performance,InnoDB通常假设使用主轴硬盘来存储数据,因此它尽最大努力减少随机访问,并尽可能选择顺序访问。如今,生产中的许多MySQL实例都使用SSD闪存驱动器,因此这些设计决策的好处已经消失,并可能导致一些开销 InnoDB的当前开发是否考虑到了这一点?是否有任何配置选项可用于调整SSD驱动器的性能?有几个可调参数直接影响SSD驱动器与旋转驱动器: innodb_flush_neighbors = OFF -- since there is no "rotational delay" innodb_ra

InnoDB通常假设使用主轴硬盘来存储数据,因此它尽最大努力减少随机访问,并尽可能选择顺序访问。如今,生产中的许多MySQL实例都使用SSD闪存驱动器,因此这些设计决策的好处已经消失,并可能导致一些开销


InnoDB的当前开发是否考虑到了这一点?是否有任何配置选项可用于调整SSD驱动器的性能?

有几个可调参数直接影响SSD驱动器与旋转驱动器:

innodb_flush_neighbors = OFF -- since there is no "rotational delay"
innodb_random_read_ahead = OFF
innodb_io_capacity     = 2000
innodb_io_capacity_max = 4000
innodb_page_size - Using a smaller size _may_ help if _all_ tables are
    accessed randomly _and_ have small rows.  (not for the faint of heart)
我没有关于数值的“好”数字,它们取决于SSD/闪存的性能特征

可能有更多的设置。例如,我不知道关于
innodb\u read\u io\u线程
innodb\u write\u io\u线程
。(默认值为4,最大值为64。)

RAID控制器上的电池备份写缓存使写操作基本上是瞬时的。这也是一个因素

8.0(最新版本)有一些适用于磁盘与RAM访问的“成本”参数。它们是手动可调的。(很抱歉,我没有详细信息。)我恳求开发人员让他们进行自我调整

请记住,如果您处于此类可调参数的“极限”,那么在系统崩溃之前,您将没有多少空间


请记住,优化索引和查询通常会给您带来最大的收益。

我们发现4k innodb_page_大小的内存泄漏可能这不是主题,当针对闪存驱动器进行调整时,与为SSD设计的其他存储引擎相比,innodb的性能如何,像RocksDB?@akuzminsky-请在http:bugs.mysql.com上提交一份bug报告。