You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@samza.apache.org by "Jake Maes (JIRA)" <ji...@apache.org> on 2017/06/06 17:19:18 UTC
[jira] [Created] (SAMZA-1323) Reduce Timer memory usage
Jake Maes created SAMZA-1323:
--------------------------------
Summary: Reduce Timer memory usage
Key: SAMZA-1323
URL: https://issues.apache.org/jira/browse/SAMZA-1323
Project: Samza
Issue Type: Bug
Reporter: Jake Maes
Unlike Counters and Gauges, Timers (SlidingTimeWindowReservoir) retain individual data points over a sliding window.
Most timers are instantiated on the order of the number of tasks. With the high level API it's per operator per task. So the number of data points used for each timer is:
NumOperatorsPerTask * NumTasks * TimerCollisionBuffer * TimerWindowSize * %WindowFill.
Values for a typical application could be:
4 * 128 * 1 * 300000 * 1 = 154M time-value pairs if the window is always filled (e.g. because we process a message every ms)
The timers are useful, but they're resource hungry.
SAMZA-834 reduced the memory usage by changing the default collision buffer from 256
Users can also disable the timers using the config:
metrics.timer.enabled=false
But the goal of this ticket is to explore ways to further reduce the memory overhead of timers so users don't have to turn them off.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)