Reduce the Constant DB Load of Reminders in Large-Scale Environments
Overview¶
In large-scale environments with many reminder settings, users, and departments/groups, the process that checks reminder schedules can become a cause of constant load on the DB. With the default settings, this check process starts every 60 seconds.
In version 1.5.5.0 and later, you can change the startup interval (unit: seconds) with the ReminderCheckIntervalSeconds parameter of BackgroundService.json. For reminders operated daily or less frequently, extending the startup interval to 120 to 300 seconds still keeps them timely enough for practical use.
Limitations¶
- The range of values that can be set for ReminderCheckIntervalSeconds in BackgroundService.json is 30 to 3600 (seconds). If a value outside the range is specified, it is automatically changed to the nearest valid value.
| Specified Value | Actual Behavior |
|---|---|
| 10 (below the lower limit) | Operates as 30 |
| 7200 (above the upper limit) | Operates as 3600 |
When the value is changed to a valid value, a warning message like the following is recorded in the "System Log".
"ReminderCheckIntervalSeconds is out of range. Configured: 7200, Used: 3600 (valid range: 30-3600)."
- If you extend the startup interval, reminders may be sent late by up to the number of seconds set. This is not suitable for reminder operations that require minute-level timeliness.
- Interval (the wait time between processes) and Span (the number of seconds the loop continues within one startup) in Reminder.json are parameters independent of the startup interval described on this page. Adjusting only these does not reduce the load caused by the startup frequency.
- The optimal value depends on the performance and load of the server. The following setting example is only a guide.
Setting Example¶
BackgroundService.json (excerpt of the related parameters only)¶
Supported Versions¶
| Supported versions | Body |
|---|---|
| 1.5.5.0 and later | Added function |