首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySql不需要额外的CPU

MySql不需要额外的CPU
EN

Database Administration用户
提问于 2020-07-06 13:26:39
回答 1查看 429关注 0票数 1

只运行一个MySql 5.7.30实例的服务器平均消耗大约25%的CPU,连接了100多个线程,其中一般有15-25个线程。服务器中的CPU有8个核心/16个线程,CPU上的负载似乎很好地分布在所有内核/线程上。

现在已经向服务器添加了第二个相同的CPU,但是我们注意到,第二个CPU没有在其任何核心/线程上得到任何负载。有什么设置我需要调整,告诉MySql使用这两个CPU的?

下面是机器上my.ini的一些设置:

代码语言:javascript
复制
default-storage-engine=INNODB
log-output=FILE
table_open_cache=2000
thread_cache_size=10
myisam_max_sort_file_size=100G
read_buffer_size=64K
read_rnd_buffer_size=256K
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_autoextend_increment=64
innodb_buffer_pool_instances=8
innodb_concurrency_tickets=5000
innodb_old_blocks_time=1000
innodb_stats_on_metadata=0
innodb_file_per_table=1
innodb_checksum_algorithm=0
back_log=80
flush_time=0
open_files_limit=4161
table_definition_cache=1400
binlog_row_event_max_size=8K
max_connections=301
tmp_table_size=6G
myisam_sort_buffer_size=12G
key_buffer_size=11M
innodb_buffer_pool_size=20G
innodb_log_file_size=2G
innodb_thread_concurrency=33
innodb_open_files=2000
join_buffer_size=4M
max_allowed_packet=32M
sort_buffer_size=512K
event-scheduler=ON
max_heap_table_size=32M
query_cache_type=1
EN

回答 1

Database Administration用户

发布于 2020-07-06 18:49:26

在MySQL中,一个连接使用一个CPU核心。句号。讨论结束。

好吧..。

  • InnoDB有一些后台线程,例如用于处理I/O、清除、剪枝等。
  • MySQL 8.0.xx的查询数量非常有限,因此它将产生多个线程。

平均约占CPU的25%

是的,MySQL在执行写得很好、索引很好的查询方面非常快。因此,成千上万的qps可能只使用CPU的一小部分。在MySQL系统中,CPU很少是限制因素。当它是,通常添加一个综合索引“修复”它。

分布在所有核心/线程上

这取决于操作系统。请注意,每个连接都位于一个“线程”(或“进程”)中,并由操作系统将CPU核心分配给线程。

如果平均一个CPU的25%,操作系统很少有一个好的理由唤醒另一个CPU。现在我们开始深入到硬件的血淋淋的细节-- NUMA,亲和力等等,可能是功耗,非均匀内存访问等等。

即使您让它同时使用这两个CPU(每个CPU的速度约为12.5% ),用户也可能看不到延迟方面的任何改善。

多线程:

  • 可能会阻塞等待I/O --这可能只有一种方法可以到达磁盘。
  • 可能会在多个Mutexe上被阻塞--在大约64个线程的某个地方,这就成了一个问题。在25岁的时候没什么问题。
  • 可能会因为事务完整性而被阻塞--有效地序列化某些类型的操作;因此,额外的CPU是无用的。

真正的目标是什么?

  • 更大的吞吐量?要么你还没有达到极限,要么你被I/O束缚了。
  • 更低的潜伏期?额外的CPU,即使使用,也不会有多大帮助。

通过改进查询,这两种方法都可能有所帮助。打开慢速日志;使用pt-查询摘要;然后让我们讨论最糟糕的查询。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/270451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档