MariaDB 最大连接数

MariaDB max connections

我们有一个大型应用程序,它使用 40 个微服务(Spring 引导),每个微服务都有大约 5 个数据库连接到 mariadb 服务器。这会导致我们的 mariadb 服务器出现太多连接错误。默认值为 151,但是为了安全起见,我正在考虑将最大连接数设置为 1000。如果可能甚至明智的话,我无法在 Internet 上找到任何地方。我们的 MariaDB 运行 在 VPS 上独立运行,内存为 8GB。它不是 运行ning 在 docker 容器或类似的东西中。就是运行直接上VPS.

考虑到我们可能会扩展我们的微服务,建议的最大连接数是多少?

你可以扩大你的 max_connections 就好了。放一行

max_connections=250

在您的 MariaDB my.cnf 文件中。但是不要只是将它设置为一个非常高的数字;每个潜在的连接都会消耗 RAM,并且只有 8GiB,您需要对此多加小心。

如果你给出这个命令,你会得到一堆关于你的连接的数据。

SHOW STATUS LIKE '%connect%';

值得关注的重要内容:

  • Connection_errors_max_connections 由于 运行 连接槽不足而导致连接尝试失败的次数。
  • Connections曾经处理过的连接总数
  • Max_used_connections同时使用的最大连接数。
  • Max_used_connections_time服务器连接数最大的日期和时间。

显示的数字是自上次服务器启动或最近的 FLUSH STATUS; 语句以来的累积数。

关注这些。如果你 运行 短,你可以随时添加更多。如果在扩展时必须添加更多连接,则可能需要为 VPS 提供更多 RAM。最后两个很酷,因为你可以弄清楚你是否在一天中的特定时间受到重击。

并且,在您的各种微服务中,要非常小心地使用合理的最大大小的连接池。不要让你的微服务占用超过 10 个连接,除非你 运行 遇到吞吐量问题。你没有说你使用什么客户端技术(nodejs?dotnet?php?Java?)所以很难给你具体的建议如何做到这一点。