Slow Action Execution with High Runtime Boot Duration

Overview

This article explains the possible causes of slow Action execution with high runtime boot duration. Due to the 20-second timeout limit, this may cause login failures in some cases.

A ​​​​​sample failed login log.

"stats": {
"total_request_duration_ms": 19826,
"total_runtime_execution_duration_ms": 19822,
"runtime_processing_duration_ms": 19335,
"action_duration_ms": 384,
"runtime_external_call_duration_ms": 103,
"boot_duration_ms": 19438,
"network_duration_ms": 4
}

Solution

Increased boot_duration_ms will be more visible in low-volume test scenarios. In production scenarios, customers typically hit >99% cache hits on components contributing to “boot duration”.

The factors that can contribute to increased boot duration:

  • Large npm module dependencies in Actions. These must be periodically pulled, and the latency of pulling them is proportional to their size.
  • Considerable Action code length. This must also be transferred over the wire before being cached, contributing to latency proportional to its size for the cache misses.