在我开始在MariaDB中使用线程池之前,my.cnf文件具有以下设置以保持SQL服务器稳定。
innodb_additional_mem_pool_size
innodb_buffer_pool_size
innodb_commit_concurrency
innodb_write_io_threads
innodb_read_io_threads
innodb_thread_concurrency
innodb_sort_buffer_size
在我了解到MariaDB免费支持线程池功能后,我添加了 thread_handling =池的线程 在my.cnf中,我重新启动了SQL服务器,一切看起来都很酷,现在我想知道
谢谢
答案 0 :(得分:1)
是的,他们还算数。 Threadpool不了解innodb细节。它甚至不知道你是否在Innodb表上运行“SELECT 1”或DML语句。一切都是不透明的查询。 Threadpool知道一个线程是在运行还是在等待,并试图在CPU数量上保持运行线程的数量(或者,如果你在Unix上,则为线程池大小)。使用threadpool进行不计数的唯一设置是 thread-cache-size
线程数,并发性。不是内存分配。
不要全部删除它们。 Threadpool不管理缓冲区大小,因此保留这些大小非常重要。但是,您可以实现是保留还是删除 innodb-thread-concurrency,和 innodb-commit-concurrency ,因为这些可能会被线程池淘汰(它们仍然可以高效虽然重写工作量很大)
答案 1 :(得分:0)
设置......