我有一台专用服务器,有24个CPU和32 of的ram。
该服务器为网站和mysql提供服务。
我不知道这两个变量之间有什么区别,如果有的话。
我不知道我是否应该使用它们,因为在谷歌上阅读后,有人说这些变量可能会被忽略,这取决于操作系统或MySQL版本。
那么我应该使用它们吗?
发布于 2012-12-20 21:02:55
请仔细阅读Mysql Performance Blog,选择合适的初始值,监控服务器在一天中繁忙时间的性能,并进行相应的调整。
没有简单的答案,因为你的工作负载是独一无二的。
在我看来,您的CPU和RAM的平衡似乎是错误的。我想64 get的内存需要1~4个内核,或者你能得到的最大内存是24个内核,大概是192 get?CPU需要配置为查询速率,而RAM需要配置为活动/热数据集大小。我可以想象一个奇怪的工作负载,其中CPU/RAM是有意义的,但我不确定innodb是否真的是处理这种工作负载的最佳解决方案。
回到你的问题:简而言之,你很可能不应该使用"thread concurrency doesn't do what you expect"。innodb_thread_concurrency只是一个分界点,我想说的是,如果你的工作负载都是热的(即mysql使用的磁盘不多(?)),那么它不应该高于内核的数量。一定要读一读博客,这些设置并不像看起来那么简单。
此外,您可能需要注意:线程缓存、innodb缓冲池、添加内存池、堆表大小、排序/键缓冲区大小、tx提交时的刷新日志、日志文件大小。可能还有更多我现在想不到的。
发布于 2015-09-15 01:12:10
MySQL中的thread_concurrency选项主要用于Solaris系统,并且在版本5.6中也将不再使用,因此对它进行调优可能是浪费时间。
thread_concurrency另请阅读:https://www.percona.com/blog/2012/06/04/thread_concurrency-doesnt-do-what-you-expect/
innodb_thread_concurrency可以根据性能进行调整,但我发现使用它并没有提高性能。
我从https://www.percona.com/blog/找到了最好的信息。所有其他提出建议和建议的人可能会认为MySQL无法操作。
发布于 2013-03-02 22:14:35
(根据手册,"thread_concurrency“变量仅适用于Solaris OS)
https://stackoverflow.com/questions/13195129
复制相似问题