[ZBX-14854] preprocessor manager worker process locking Created: 2018 Sep 15  Updated: 2024 Apr 10  Resolved: 2018 Oct 09

Status: Closed
Project: ZABBIX BUGS AND ISSUES
Component/s: Server (S)
Affects Version/s: 3.4.13, 4.0.0beta1, 4.0.0beta2
Fix Version/s: 3.4.15rc1, 4.0.1rc1, 4.2.0alpha1, 4.2 (plan)

Type: Patch request Priority: Trivial
Reporter: Mikhail Makurov Assignee: Michael Veksler
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux


Issue Links:
Causes
causes ZBX-15516 Incorrect process state in case of in... Closed
Team: Team A
Sprint: Sprint 43, Sprint 44
Story Points: 0.25

 Description   

On the speeds close to 30-40k NVPS (depends of CPU core speed) preprocessor manager workers starting to lock each other due to locking.

The reason is log file handling.

I suggest removing line

zbx_handle_log();

This doesn't really affect rotation, as there are lots of other places it is done from.



 Comments   
Comment by Vladislavs Sokurenko [ 2018 Sep 15 ]

Does removing this line improve NVPS for you ?

Comment by Mikhail Makurov [ 2018 Sep 17 ]

Sure.

for E5645 Xeon CPU's that was limiting factor to go beyond 40k NVPS.

for E3-1280 limit is somewhere near 60-70k NVPS

Probably,  this isn't likely issue to hit with existing configuration locking as it produces even higher limit to NVPS. I will post another ISSUE to suggest alternative locking  of the configuration cache.

However, this is really easy fix to allow a server to go well beyond 100k NVPS.

Comment by Vladislavs Sokurenko [ 2018 Sep 17 ]

It should though do log rotate less often that once a second, however it seems to be implemented only in preprocessing manager, not in workers.

Manager:

		/* handle /etc/resolv.conf update and log rotate less often than once a second */
		if (1.0 < time_now - time_file)
		{
			time_file = time_now;
			zbx_handle_log();

Worker:

        for (;;)
	{
		zbx_handle_log();
                ....
Comment by Michael Veksler [ 2018 Oct 09 ]

Available in:

  • 3.4.15rc1 r85629
  • 4.0.1rc1 r85634
  • 4.2.0alpha1 (trunk) r85635
Generated at Tue Apr 23 09:50:42 EEST 2024 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.