MySQL线程并发,innodb线程并发,我应该用还是不用?

MySQL线程并发,innodb线程并发,我应该用还是不用?,mysql,database-performance,Mysql,Database Performance,我有一个专用服务器,有24个CPU和32GB的ram 该服务器提供网站和mysql服务 我不知道这两个变量之间有什么区别,如果有的话 我不知道我是否应该使用它们,因为在谷歌上阅读后,有人说,根据操作系统或MySQL版本,这些变量可能会被忽略 所以我应该使用它们吗?请仔细阅读,选择合适的初始值,在一天的繁忙时间监控服务器的性能,并进行相应的调整 没有简单的答案,因为您的工作负载是独一无二的 在我看来,你的CPU和RAM的平衡似乎是错误的。我认为64GB的ram需要1~4个内核,或者最大ram需要2

我有一个专用服务器,有24个CPU和32GB的ram

该服务器提供网站和mysql服务

我不知道这两个变量之间有什么区别,如果有的话

我不知道我是否应该使用它们,因为在谷歌上阅读后,有人说,根据操作系统或MySQL版本,这些变量可能会被忽略

所以我应该使用它们吗?

请仔细阅读,选择合适的初始值,在一天的繁忙时间监控服务器的性能,并进行相应的调整

没有简单的答案,因为您的工作负载是独一无二的

在我看来,你的CPU和RAM的平衡似乎是错误的。我认为64GB的ram需要1~4个内核,或者最大ram需要24个内核,可能是192GB吧?需要为查询速率配置CPU,为活动/热数据集大小配置RAM。我可以想象一个奇怪的工作负载,在这里您的CPU/RAM是有意义的,但我不确定innodb实际上是这种工作负载的最佳解决方案

回到你的问题:简言之,你很可能不应该使用。这只是一个中断,我想说,如果您的工作负载都是热的(即mysql不使用太多磁盘(?),它不应该高于内核的数量。一定要阅读博客,这些设置并不像看上去那么简单


您可能还需要注意:线程缓存、innodb缓冲池、添加mem池、堆表大小、排序/键缓冲区大小、tx提交时刷新日志、日志文件大小。可能还有一些我现在想不到的问题。

这将取决于许多问题,操作系统、调度程序选项、I/O子系统、CPU的数量和类型,以及正在运行的查询的类型和数量

在您的系统上,唯一可以确定的方法是调整innodb_线程_并发性的值,并根据基准运行典型的工作负载。合理的起点是0到48(在您的情况下)x2乘以可用的CPU内核数。然后,您可以增加这个值,直到您开始看到系统受到CPU的限制,并稍微限制它

这并没有考虑到事务将生成的磁盘活动,从中您可以查看磁盘I/O并从中进行调整

将此设置为0就是将其设置为无限 **因此,默认情况下,并发执行线程的数量没有限制


(根据手册“thread\u concurrency”变量仅适用于Solaris操作系统)

MySQL中的thread\u concurrency选项主要适用于Solaris系统,在5.6版中也会贬值,因此调整它可能会浪费时间

thread_concurrency
另请阅读:

innodb_线程_并发可以根据性能进行调整,但我发现使用它不会提高性能

我从中找到了最好的信息。所有其他建议和给出建议的人都可能认为MySQL不可操作