FS-10038: [core] tune heartbeat events interval

This commit is contained in:
Razvan Crainea 2017-02-14 13:41:52 +02:00
parent 9e971e5602
commit 6d056e1698
3 changed files with 15 additions and 1 deletions

View File

@ -48,6 +48,9 @@
<!-- Minimum idle CPU before refusing calls -->
<!-- <param name="min-idle-cpu" value="25"/> -->
<!-- Interval between heartbeat events -->
<!-- <param name="event-heartbeat-interval" value="20"/> -->
<!--
Max number of sessions to allow at any given time.

View File

@ -302,6 +302,7 @@ struct switch_runtime {
int multiple_registrations;
uint32_t max_db_handles;
uint32_t db_handle_timeout;
uint32_t event_heartbeat_interval;
int cpu_count;
uint32_t time_sync;
char *core_db_pre_trans_execute;

View File

@ -206,7 +206,7 @@ SWITCH_STANDARD_SCHED_FUNC(heartbeat_callback)
send_heartbeat();
/* reschedule this task */
task->runtime = switch_epoch_time_now(NULL) + 20;
task->runtime = switch_epoch_time_now(NULL) + runtime.event_heartbeat_interval;
}
@ -1826,6 +1826,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_init(switch_core_flag_t flags, switc
runtime.max_db_handles = 50;
runtime.db_handle_timeout = 5000000;
runtime.event_heartbeat_interval = 20;
runtime.runlevel++;
runtime.dummy_cng_frame.data = runtime.dummy_data;
@ -2140,6 +2141,15 @@ static void switch_load_core_config(const char *file)
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "db-handle-timeout must be between 1 and 5000\n");
}
} else if (!strcasecmp(var, "event-heartbeat-interval")) {
long tmp = atol(val);
if (tmp > 0) {
runtime.event_heartbeat_interval = (uint32_t) tmp;
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "heartbeat-interval must be a greater than 0\n");
}
} else if (!strcasecmp(var, "multiple-registrations")) {
runtime.multiple_registrations = switch_true(val);
} else if (!strcasecmp(var, "auto-create-schemas")) {