InnoDB通常假设使用纺锤体硬盘来存储数据,因此它会尽最大努力减少随机访问,并尽可能选择顺序访问。现在,生产中的许多MySQL实例都使用SSD驱动器,因此这些设计决策的好处已经消失,可能会造成一些开销。
InnoDB目前的发展是否考虑到了这一点?是否有任何配置选项来调优SSD驱动器的性能?
发布于 2016-11-22 03:02:15
有几个可调参数直接影响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/Flash的性能特征。
可能还有更多的设置。我不知道,例如,关于innodb_read_io_threads和innodb_write_io_threads。(默认为4,最多64。)
在RAID控制器上,电池支持的写缓存使得写本质上是瞬间的.这也是一个因素
8.0 (最新版本)有一些适用于磁盘访问和RAM访问的“成本”参数。它们是手动可调的。(对不起,我不知道细节。)我恳求开发人员让他们进行自我调整。
请记住,如果您“处于此类可调设备的极限”,那么在系统崩溃之前,您将没有太多的空间。
请记住,优化索引和查询通常会给您带来最大的好处。
https://stackoverflow.com/questions/40732595
复制相似问题