首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL服务器连接达到了4832的极限。

问MySQL服务器连接达到了4832的极限。
EN

Database Administration用户
提问于 2021-06-25 05:07:16
回答 1查看 133关注 0票数 0

已经监视mysql服务器多年了,我注意到mysql数据库max_used_connections不能通过4832。一旦达到4832,MySQL开始显示缓慢,而负载/cpu使用率/内存则处于适度使用状态。max_connections设置为6000 (显示像“max_connections”这样的变量)。运行Ubuntu20.04,下面的Mysql5.7.33是我修改的配置:

mysql.conf

代码语言:javascript
复制
max_connections = 6000 # have tried other values like 10000
open_files_limit = 1048576

修改/etc/systemd/system/mysql.service

代码语言:javascript
复制
LimitNOFILE=infinity 
LimitMEMLOCK=infinity

/etc/安全/限制f

代码语言:javascript
复制
*    soft nofile 1048576
*    hard nofile 1048576
*    soft nproc  1084576
mysql   soft    nproc   1084576
mysql   hard    nproc   1084576
mysql   soft    nofile   1084576
mysql   hard    nofile   1084576

乌尔

代码语言:javascript
复制
ulimit -n; // 1048576
ulimit -u; // 257436

以前,服务器是12核心48 12内存,达到4832。我升级到16核心64 16内存,max_used_connections仍然达到4832max。它总是达到4832,没有进一步的。有什么想法吗?

EN

回答 1

Database Administration用户

发布于 2021-06-25 19:35:25

听起来系统开始交换了。这对表演来说太糟糕了。

几乎没有一个MySQL系统真正需要超过1000个连接。在解决这个问题之前,你会从中得到什么(当它达到4823)?

代码语言:javascript
复制
SHOW GLOBAL STATUS LIKE 'Threads_running';

我需要更多的信息..。RAM大小,innodb_buffer_pool_size值,max_connections值。这是一个网络应用程序吗?或者是客户的其他东西?

一个典型的问题来自客户端(例如,web服务器子服务器)不必要的数量。我认为这是第一件要处理的事情。降低"max_children“(或其他什么)。

如果Threads_running超过20,那么您可能有一些需要优化的缓慢查询。设置long_query_time = 1并打开慢速日志。一段时间后,使用pt-query-digest分析顽皮查询的慢速日志。

更多:http://mysql.rjweb.org/doc.php/mysql_分析

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/294787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档