![减少 zabbix 服务器与数据库的连接](https://linux22.com/image/703693/%E5%87%8F%E5%B0%91%20zabbix%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8E%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E8%BF%9E%E6%8E%A5.png)
是否可以定义一个数据库池值以减少从 zabbix 服务器发送的数据库连接?
我看到一个方法是通过 apache mod_fcgid 来完成的,是否也可以通过 mod mpm_prefork 来完成?
通过进行测试(只有 2 个用户通过 Web GUI 连接),我发现当我的数据库服务器的限制为 100 时,有 60 个传出连接到数据库服务器;当我的限制为 20 时,有 23 个传出连接(当然它不起作用);而当限制为 30 时,有 29 个传出连接,为什么会有这样的差异?
在我看来,不知何故,zabbix 能够识别创建传出连接的最大数据库连接数,但老实说,这对我来说有点奇怪,当我在数据库服务器中增加池时,Zabbix 似乎会滥用资源。
场景是共享的 PostgreSQL 服务器,这就是为什么在我的情况下增加数据库服务器端的池不是一个好主意。
Zabbix 安装在 CentOS 7 服务器中。
答案1
最有可能的是,您看到的是来自服务器的连接。许多服务器进程将保留自己的连接。将限制调低会导致问题,请不要这样做 - 进程将遇到连接问题、重新连接,连接将更频繁地打开和关闭。
您的选择是:
- 增加数据库连接限制,直到有空闲的连接槽。
- 减少生成的 Zabbix 服务器进程(如轮询器)的数量,直到有备用的连接槽。
一般来说,将 Zabbix DB 放在共享资源上不是一个好主意 - 当生产负载增加或出现任何其他问题时,这会使您的监控系统不可靠。