[ZBXNEXT-2571] Item Delete - Long periods of high internal housekeeper process usage Created: 2014 Nov 06  Updated: 2014 Nov 06  Resolved: 2014 Nov 06

Status: Closed
Project: ZABBIX FEATURE REQUESTS
Component/s: Server (S)
Affects Version/s: 2.2.6
Fix Version/s: None

Type: New Feature Request Priority: Major
Reporter: Dimitri Bellini Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Redhat Enterprise 6.x x64 - Percona MySQL 5.6


Attachments: PNG File zabbix_housekeeping_trouble.png    
Issue Links:
Duplicate
duplicates ZBXNEXT-2572 Item Delete - Long periods of high in... Open

 Description   

Actually the Zabbix Housekeeper is working very well with normal operations, cleaning item values but i can't say the same when we delete some prototype items or simple items.

During an official Zabbix issue we are now know the right meaninng of the MaxHousekeeperDelete parameter, this variable only affect the amount of value of a deleted item per Housekeeper run.

For example if i have a template for Cisco Switches with some Item prototype related to the port metrics, you will probably face this numbers:
N.1 Item prototype expanded with 100 switch ports x 10 monitored Switches => 1000 Discovered Items x Update interval
In this case Zabbix Housekeeper wil try to remove n. MaxHousekeeperDelete (ex.500) x Total Discovery Items (1000) => 500k history value in a single run.

So the MaxHousekeeperDelete don't limit the query for a single Housekeeper run and in some case this logic can drammatically increase the working load of Zabbix Server.

I will suggest a possible way:

Predictable -> If i can decide (tune) the right value of MaxHousekeeperDelete for my enviroment (CPU load,Disk I/O etc) i can ensure that i can not exceed the max load of my Zabbix Server in every case
NOT Predictable -> (today implementation) In this moment the load of the Zabbix Server during a massive delete is not controlled and for example using your case if we have:
18000 items x 500 MaxHousekeeperDelete => 9.000.000 value to delete at the first housekeeper run
and worst if you have 2 or 3 hosts (connected to a main template) 9.000.000 x 3 = 27M of deletes in a single operation.
Do you still think is a good solution? I think it's better to have control of this process.
I think this was a good solution before Zabbix introduced Prototype Item, now this problem can become much more evident.
So my suggestion is to have a variable that define "the total delete" per run, in this mode everyone can modify according with the own environment or usage but with a predictable load.



 Comments   
Comment by Dimitri Bellini [ 2014 Nov 06 ]

Please delete my ZBXNEXT, i cut and paste some text and now i can't modify the content...

Generated at Sat Apr 05 07:02:56 EEST 2025 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.