我有一个具有以下规格的专用数据库服务器”
我们目前正在做超线程,所以我们有 24 个逻辑核心。目前在 2k-4k 事务/秒之间运行。
我已经设置了以下内容:
innodb_thread_concurrency = 48innodb_read_io_threads = 24innodb_write_io_threads = 24 这是严格的 OLTP 负载(70% 读取)。查询速度相对较快(毫秒)。查询缓存已开启但未使用过多。临时磁盘表不经常创建。InnoDB 缓冲池设置为 48GB,几乎涵盖了整个数据集(60GB 数据+索引)。
如何更好地调整 CPU 线程以及 MySQL 如何使用这些线程?让我知道是否有人对innodb_thread_concurrency.
我将不胜感激任何建议。
更新
从innodb_thread_concurrency = 48到更新后:
innodb_thread_concurrency = 0在高峰时间(4-5k 事务/秒)的生产系统上查看行为,这是我观察到的: