首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AWS中的难以捉摸的问题

AWS中的难以捉摸的问题
EN

Database Administration用户
提问于 2021-05-28 10:10:20
回答 1查看 215关注 0票数 1

我有一个配置好的、单主的RDS (5.6.mysql_aurora.1.23.0),它有一个作者和一个阅读器.客户端是一组具有多达250个连接池的jetty应用程序。

一段时间以来,我一直在与间歇性问题作斗争:连接记录开始超时,主要是。它似乎与高负载相关,并且我已经开始定期地将整个information_schema.processlist复制到日志表中(显然是带有时间戳),而且当连接数达到2000时,问题似乎变得最明显。它永远不会接近max_connectionsmax_user_connections

代码语言:javascript
运行
复制
mysql> show variables like "%max%conn%";
+------------------------------+-------+
| Variable_name                | Value |
+------------------------------+-------+
| aurora_max_connections_limit | 16000 |
| max_connect_errors           | 100   |
| max_connections              | 3000  |
| max_user_connections         | 0     |
+------------------------------+-------+
4 rows in set (0.03 sec)

那么,为了克服这个问题,我应该集中注意哪些参数呢?我还没有发现任何可能出现的情况,这就解释了为什么2000次连接似乎导致了这种情况;当然,这样一个整数出现可能只是巧合。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2021-05-28 12:06:14

这很可能是内存耗尽的结果。到数据库的每个连接都需要一些内存,如果每个连接都需要1MB (一个较低的数目),您可以查看仅用于连接的大约2GB内存。

此SQL查询将使您知道任何单个连接可以使用的最大内存量:

代码语言:javascript
运行
复制
SELECT ( @@read_buffer_size
       + @@read_rnd_buffer_size
       + @@sort_buffer_size
       + @@join_buffer_size
       + @@binlog_cache_size
       + @@thread_stack
       + @@tmp_table_size
       + 2*@@net_buffer_length
       ) / (1024 * 1024) AS MEMORY_PER_CON_MB;

检查这个数字是否太高(这是一个主观数字,根据您对特定数据库的经验)。如果数据库的内存经常耗尽,那么您可能需要一个内存优化实例,或者对每个连接消耗多少资源进行更严格的限制。

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

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

复制
相关文章

相似问题

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