MySQL中如何控制会话并发性?

MySQL中如何控制会话并发性?,mysql,session,concurrency,mariadb,Mysql,Session,Concurrency,Mariadb,我有mariadb,最大连接数=1000。应用程序堆栈打开了450个到数据库的连接,它被设计成高度并发的。工作负载主要是插入/更新。通过ShowProcessList进行监视时,我注意到数据库中同时执行的活动查询不超过11个。我认为mysql的一些设置在我的例子中阻止了更多的并发性,但我不知道它们是什么。控制并发性的mysql参数集非常混乱,很难看出其中的清晰性。我有这个: MariaDB [(none)]> show variables like '%concurr%'; +------

我有mariadb,最大连接数=1000。应用程序堆栈打开了450个到数据库的连接,它被设计成高度并发的。工作负载主要是插入/更新。通过ShowProcessList进行监视时,我注意到数据库中同时执行的活动查询不超过11个。我认为mysql的一些设置在我的例子中阻止了更多的并发性,但我不知道它们是什么。控制并发性的mysql参数集非常混乱,很难看出其中的清晰性。我有这个:

MariaDB [(none)]> show variables like '%concurr%';
+----------------------------+--------+
| Variable_name              | Value  |
+----------------------------+--------+
| concurrent_insert          | ALWAYS |
| innodb_commit_concurrency  | 0      |
| innodb_concurrency_tickets | 5000   |
| innodb_thread_concurrency  | 32     |
| thread_concurrency         | 10     |
+----------------------------+--------+
24个缓冲池实例,每个实例2GB和慢速GCP SSD永久磁盘

最后一个参数已折旧(根据我的研究)。为了提高mysql中的并发性,应该更改哪些内容?

重新线程\u并发:

此变量已弃用,并在MySQL 5.7中删除。您应该在看到MySQL配置文件时将其从中删除,除非它们适用于Solaris 8或更早版本

所以,不要费心去改变它

同时,我想说你的观察是“正常的”。也就是说,你的450个连接正在进行非常快的查询,所以当你看的时候,碰巧看到的只有11个。

您是否在应用程序中看到任何意外延迟?我想不是

您是否比其他查询更经常地看到某些特定查询?显示的
时间
是否超过,比如说,“2”?如果有,让我们看看查询,再加上
显示创建表


是否有任何
PROCESSLIST
条目表明
已锁定
。如果是这样,请查找具有最大
时间
且未
锁定的
的查询,并调查其运行如此长的原因。

存在意外延迟(我在这里有单独的问题:)。但我很少看到时间>0。它大部分是快速的。无状态显示锁定,只有Init或null在非睡眠状态下,您经常看到超过11个?