The count of actions respectively action conditions may have a significant impact on performance of history syncers.
Simplified illustration how the processing of events in connection with actions takes place:
In this process flow are quite some database queries involved.
While this is unlikely an issue in small Zabbix environments it may become a disaster in larger environments.
On a Zabbix installation with:
- a base line of ~1.8K NVPS,
- having ~100 actions
- with ~1K conditions
I was able to bring the system out of service in a few minutes by just adding 4 events per second in addition to the ambient noise.
In opposite to that I was no more able to affect the service after having all actions disabled. Even not by generating many times more events per second.
How about caching most relevant information needed for action processing in memory of Zabbix server?