Skip to content

Envsubst script is slow to execute on low end systems #107

@eerotki

Description

@eerotki

I discovered that startup script 20-envsubst-on-templates.sh takes longer than expected to execute with the recent update, when /etc/nginx/conf.d/ path is in read-only mode. With 1.23.0-alpine, the container is started in 4 seconds, from creation to serving traffic. While in 1.23.1-alpine, the same configuration with same computing resources takes up to 120 seconds to start. The script 20-envsubst-on-templates.sh alone took 118 seconds to process. My configuration expects the container to start within 35 seconds, which has been plenty with version prio to 1.23.1. Adjusting conf.d path to read-write for 1.23.1-alpine reduces the startup time as it was, to 4 seconds.

I'm using GKE 1.22 + Docker 20.10.6 with small resources (25m CPU, 50Mi RAM). This configuration has been working flawlessly in the past years. When ran locally with my mighty laptop the start up is pretty much instantaneous. The issue can be bypassed in K8s by either allowing more time for the container to start, or just by increasing allocated CPU resource (doubling it reduces container startup time to 60 seconds).

I think it'd be ideal to discuss whether this behaviour was expected and can we expect it to stay like this in future updates?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions