First of all, I tried out to increase the number of pre-forked instances of pollers for the Zabbix server, that is, I changed its default value from 5 to 256 (remember that for that case, you have to set the the number of maximum connections in MySQL - max_connections - higher than 256, since every single poller opens a dedicated connection to the database).
root@zabbix-server:~# cat /etc/zabbix/zabbix_server.conf
...
# StartPollers=5
StartPollers=256
root@zabbix-server:~# cat /etc/mysql/my.cnf
...
max_connextions = 512
Below you can see the outcome after applying it (Zabbix server performance).
And the Zabbix data gathering process.
In the first figure, you can observe that the Zabbix queue has gone from 48 to 30 (approximately), and for the second one, the Zabbix busy poller processes went from 100% to 24%. So it is clear that if you have a server with enough resources, there is no problem to start many pollers. These kind of processes are responsible for requesting the data defined in the items, so the more pollers have available, the less overloaded the system is.
Other Zabbix server parameter that you ought to take into account is for example the Timeout (specifies how log pollers wait for agent responses). Try not to assign a very high value. Otherwise, the system might get overloaded.
Next week, I will end up this series of articles by accomplishing the part of the client.
Great tips!!, I got a big performance gain :
ReplyDeletehttps://dl.dropbox.com/u/7405217/zabbix_performance.png
https://dl.dropbox.com/u/7405217/zabbix_performance2.png
thanks man!!
hello i have zabbix2.0.3 and i cant find the line max_connextions = 512 in zabbix_server.conf
ReplyDeleteThat parameter does not belong to the Zabbix configuration. It is located in the my.cnf file (MySQL).
Deleteshould be max_connections
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteO meu não deu certo, estou usando o postgres, alterei o max_connections for 1000 e o StartPollers for 500, and problem continuos
ReplyDeleteThanks - This was a big help.
ReplyDeleteGood afternoon,
ReplyDeletewe experience since today that Zabbix busy poller processes is always above 80%
i've changed startpollers and max_connections
This procedure solved my problem.
ReplyDeleteThank you for the post.
Regards.
Carlos (São Paulo, Brazil)
Hi,
ReplyDeleteI have a doubt here. I also increased my pollers but how can i guess the approx number to which i should increase? 256 in your case . How did you come up with this number?
This comment has been removed by the author.
ReplyDelete...
ReplyDelete# StartPollers=5
StartPollers=256
=> Results: PROBLEM: Too many processes on Zabbix
modify the trigger for that to a higher number.....
DeleteThanks a lot !
ReplyDeleteI also face the same issue. I set the limit for StartPllers=256 but service is not restarting then i reduce it to 50 and everything working fine.
ReplyDeleteNow can you please tell me how we can find the exact value we can set for StartPllers and how we can find it?
Thanks