【发布时间】:2021-08-01 12:18:48
【问题描述】:
我有 24 GB 内存、centos 7 操作系统、mariadb 10.3 版本数据库和 1TB ssd linux 服务器,我正在运行我的 cpp 脚本和 mariacpp 连接器来在表中插入数据,我有大约 50000 个表并且只想在来自这 50000 个表的 5000 个表,但是当我使用 cpp 线程和 mariacpp 连接器运行我的脚本时,我只能得到 50 次插入/秒。这是非常低的,所以我想提高 InnoDb 插入性能。所以请建议我任何配置和任何其他方式。 我当前的 InnoDB 配置:
Innodb_read_io_threads=64;
innodb_write_io_threads=64 ;
innodb_buffer_pool_size=16G;
innodb_buffer_pool_load_at_startup=ON;
innodb_log_file_size = 1G ;
innodb_log_files_in_group=10;
innodb_file_per_table=1;
innodb_log_buffer_size=1G;
innodb_flush_method=O_DIRECT;
innodb_flush_log_at_trx_commit=2;
skip-innodb_doublewrite ;
innodb_io_capacity = 2000;
innodb_io_capacity_max = 3000;
innodb_flush_sync=1;
我尝试了许多与事物相关的变量,但没有改进,我使用 Alter 表查询将所有表从 MyISAM 更改为 InnoDB。
【问题讨论】:
标签: c++ performance mariadb innodb insertion