MYo*_*sef 5 mysql innodb performance linux mysql-5.5 performance-tuning
我有一个具有以下规格的专用数据库服务器”
我们目前正在做超线程,所以我们有 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 事务/秒)的生产系统上查看行为,这是我观察到的:
似乎设置innodb_thread_concurrency为非零值会限制您的 CPU,以免它们过火。我将其重新设置为innodb_thread_concurrency=48CPU 使用率下降。
我将不胜感激对这些结果的任何想法。
默认情况下,innodb_thread_concurrency为 0。这实际上是最佳设置。这意味着无限并发。它允许 InnoDB 存储引擎决定要启动和处理的最佳并发票数。如果设置不正确,将其设置为非零值实际上会限制 InnoDB 或限制操作系统。
我在 DBA StackExchange 中写了很多关于此设置的帖子:
May 26, 2011:关于单线程与多线程数据库性能Aug 16, 2011:为什么在禁用查询缓存时MySQL线程经常显示“正在释放项目”状态?Sep 12, 2011:可以让MySQL使用多个核心吗?Sep 20, 2011:多核和 MySQL 性能Apr 26, 2012:CPU 性能与数据库服务器相关吗?Aug 03, 2012: solr 索引的 mysql innodb 表中插入性能缓慢| 归档时间: |
|
| 查看次数: |
26731 次 |
| 最近记录: |