暂无图片
benchmark跑MySQL,1000仓数据,分别跑了32和100并发,但是发现100并发比32并发还低?
我来答
分享
XXYGGOD
2021-11-05
benchmark跑MySQL,1000仓数据,分别跑了32和100并发,但是发现100并发比32并发还低?

32并发:
32.jpg
100并发:
100.jpg

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
Uncopyrightable

在官方doc上,对于innodb_thread_concurrency的使用,也给出了一些建议,如下:

1. 如果一个工作负载中,并发用户线程的数量小于64,建议设置innodb_thread_concurrency=0;

2.如果工作负载一直较为严重甚至偶尔达到顶峰,建议先设置innodb_thread_concurrency=128,并通过不断的降低这个参数,96, 80, 64等等,直到发现能够提供最佳性能的线程数,例如,假设系统通常有40到50个用户,但定期的数量增加至60,70,甚至200。你会发现,性能在80个并发用户设置时表现稳定,如果高于这个数,性能反而下降。在这种情况下,建议设置innodb_thread_concurrency参数为80,以避免影响性能。

3. 如果你不希望InnoDB使用的虚拟CPU数量比用户线程使用的虚拟CPU更多(比如20个虚拟CPU),建议通过设置innodb_thread_concurrency 参数为这个值(也可能更低,这取决于性能体现),如果你的目标是将MySQL与其他应用隔离,你可以考虑绑定mysqld进程到专有的虚拟CPU。但是需 要注意的是,这种绑定,在myslqd进程一直不是很忙的情况下,可能会导致非最优的硬件使用率。在这种情况下,你可能会设置mysqld进程绑定的虚拟 CPU,允许其他应用程序使用虚拟CPU的一部分或全部。

4.innodb_thread_concurrency设置的过高,可能增加系统内部和资源的争用,可能导致性能倒退。

5 在某些情况下,最佳的innodb_thread_concurrency参数设置可以比虚拟CPU的数量小。

6.定期检测和分析系统,负载量、用户数或者工作环境的改变可能都需要innodb_thread_concurrency参数的设置进行调整。

innodb_thread_concurrency参数设置的原则,一般等于cpu个数即可,如果不设置的话,当并发量

太高的时候 ,可以会导致mysql 耗尽cpu导致 数据库崩溃!

暂无图片 评论
暂无图片 有用 1
打赏 0
暂无图片
XXYGGOD
题主
2021-11-05
原来如此,学到了
回答交流
Markdown


请输入正文
提交
相关推荐
在 Mysql 中 ENUM 的用法是什么?
回答 2
枚举类型。比如01这种区分度很低的。
mysql为什么默认auto commit?
回答 1
MySQL默认采用自动提交的原因是为了保证数据的一致性和可靠性。在多用户环境下,如果不采用自动提交,就会出现多个用户同时修改同一条记录的情况,从而导致数据的不一致性。而自动提交可以避免这种情况的发生,
MySQL Group Replication能保证强一致性吗
回答 1
已采纳
MGR基于Paxos协议,多个节点之间强同步的高可用方案,但多个节点的强一致性是保证了最终一致性,在平常的各节点复制中还是异步的。https://www.modb.pro/db/100467
如何撤销用户对特定数据库的查看权限?
回答 1
已采纳
使用REVOKE命令
MySQL应用现在是5.7,把数据导入到8.0会不会有问题?
回答 2
基本上没啥问题,可以看下官方的changeloghttps://dev.mysql.com/doc/relnotes/mysql/8.0/en/news8034.html注:如果存储过程有注释的话,导
root用户的密码如何找回 MYSQL 8.0
回答 4
忘记root密码处理办法:1.关闭数据库  pkillmysqld         &nb
搭建主从后,备库启动复制,报错error 1396 ,' operation create user failed for 'zhang'@'%' on query default database;mysql
回答 1
在从库执行flushprivileges;再重新startslave
MGR架构可以直接在其中一个节点像传统的mysql主从架构一样,mysqldump热备吗?
回答 1
可以
mysql访问本地数据库是否会走网卡
回答 1
这里有两个缘由:一是mysql连接本机的话,可能走socket途径而非网卡(应该不是你遇到的问题)二是在默认情况下,wireshark是抓不到本地流量的,可以参考https://www.cnblogs
在使用cpu多核功能上,mysql和pg哪个能用上多核的特性?
回答 3
MySQL和PostgreSQL都可以使用CPU的多核特性,但是在处理单个查询时,PostgreSQL可以更好地利用多核特性。MySQL在处理单个查询时,只能使用一个CPU核心。这意味着,即使你有一个