MySQL海量数据配置优化教程
1.缓存大小调整
缓存是数据库中用于减少磁盘 I/O 操作的重要机制。通过增加缓存大小,可以减少对磁盘的访问,从而提高查询性能。 可以使用 innodb_buffer_pool_size 参数来调整 InnoDB 缓存的大小。例如,将缓存大小设置为服务器内存的 70%
mysql> SET GLOBAL innodb_buffer_pool_size = 0.7 * (1024 * 1024 * 1024);
或者 直接在mysql 配置文件中
innodb_buffer_pool_size=0.7*服务器内存
2.innodb_read_io_threads 和 innodb_write_io_threads 是 InnoDB 存储引擎用于读写操作的 IO 线程数量。通过设置这些参数,可以调整 InnoDB 存储引擎的并发性能
** innodb_read_io_threads **: 设置用于读取操作的 IO 线程数量。增加这个值可以提高读取操作的并行性,从而提高性能。但是,如果这个值设置得过高,可能会导致写 IO 操作的等待时间增加,从而降低写性能。 默认值是 4,但是在多核 CPU 的服务器上,可以考虑将其设置为 CPU 核心数的倍数。例如,对于 4 核 CPU,可以设置为 4。对于 8 核 CPU,可以设置为 8。
** innodb_write_io_threads **:: 设置用于写入操作的 IO 线程数量。增加这个值可以提高写入操作的并行性,从而提高性能。但是,如果这个值设置得过高,可能会导致其他操作(如读取操作)的等待时间增加。 默认值是 4,但是在多核 CPU 的服务器上,可以考虑将其设置为 CPU 核心数的倍数。例如,对于 4 核 CPU,可以设置为 4。对于 8 核 CPU,可以设置为 8
innodb_read_io_threads = 4
innodb_write_io_threads = 4