We use Zabbix 4.4 with Mariadb 10.3.8
For the web interface we use nginx + php-fpm. But with apache the symptoms will be the same.
The number of hosts is about 40k.
The database is not loaded, the zabbix_server processes do not interfere. For tests, we duplicated the database and reconfigured the Web interface on it. There were no database connections except the web interface.
PHP timeouts are configured.
If a small number of hosts fall under the change then everything works well.
If the number of hosts is large, then changes are applied very slowly..
For example, we have a basic template, which links with ~ 30k+ hosts. We want to add Application there so that it appears on all hosts. There are other examples, not only with Application and with fewer hosts. But this is a simple example that should not lead to complex actions and heavy load.
We add Application to the template. With the <show processlist> command, I see a queries to the database. These queries are processed quickly. And after that they are no more.
But on the web server, the php-fpm process in the case of nginx or apache in another case starts to calculate something. They fully load one processor core for more than an hour. After lengthy calculations, Application will be added.
Once again I want to draw your attention to the fact that time is not spent on executing queries in the database. Something has been loading the Xeon core for more than an hour.
For the web interface we use nginx + php-fpm. But with apache the symptoms will be the same.
The number of hosts is about 40k.
The database is not loaded, the zabbix_server processes do not interfere. For tests, we duplicated the database and reconfigured the Web interface on it. There were no database connections except the web interface.
PHP timeouts are configured.
If a small number of hosts fall under the change then everything works well.
If the number of hosts is large, then changes are applied very slowly..
For example, we have a basic template, which links with ~ 30k+ hosts. We want to add Application there so that it appears on all hosts. There are other examples, not only with Application and with fewer hosts. But this is a simple example that should not lead to complex actions and heavy load.
We add Application to the template. With the <show processlist> command, I see a queries to the database. These queries are processed quickly. And after that they are no more.
But on the web server, the php-fpm process in the case of nginx or apache in another case starts to calculate something. They fully load one processor core for more than an hour. After lengthy calculations, Application will be added.
Once again I want to draw your attention to the fact that time is not spent on executing queries in the database. Something has been loading the Xeon core for more than an hour.