Long(er) running containers for better performance aka Hot Containers #69

treeder opened this Issue Aug 24, 2016 · 6 comments


None yet

5 participants

treeder commented Aug 24, 2016

Instead of one off execution, keep container running for a while and take requests.

The first version executes a container per function call/request. Which is fine for many things, but we may want a way to run for longer periods of time to increase performance due to things like keeping db connections open, etc.

This would probably require a more lambda like code format and language libraries. See https://github.com/iron-io/lambda for existing work on lambda style code format.

I created a prototype of this years ago that routed traffic into IronWorker containers, should dig that out and look into that implementation.

@seiflotfy seiflotfy added this to the Beta - Major milestone Sep 13, 2016
@seiflotfy seiflotfy added the minor label Sep 15, 2016
@seiflotfy seiflotfy removed this from the Beta - Major milestone Oct 3, 2016

@ccirello brought up that container performance degrades over time and would not increase or improve performance! How do we proceed?

ccirello commented Oct 6, 2016

It does improve the performance, because it wouldn't involve the cost of starting the container - but the tradeoff is that eventually the docker daemon degrades. That's what the rotation is all about, in the end no?

ccirello commented Oct 6, 2016

My first intuition is to say that we shouldn't do it. But I think we'd better to think a little longer about the idea. Also there's the problem of the shared state between executions within the scope of the same container.

@seiflotfy seiflotfy added this to the Alpha 2 milestone Oct 12, 2016
nikhilm commented Oct 14, 2016

Some useful info here https://aws.amazon.com/blogs/compute/container-reuse-in-lambda/

This is unrelated to runner rotation really. I agree waiting on this is a good idea.

@ccirello ccirello changed the title from Long(er) running containers for better performance to Long(er) running containers for better performance aka Hot Containers Nov 2, 2016

See #214

@treeder treeder added major and removed minor labels Nov 19, 2016

#332 fixes this

@ccirello ccirello closed this Nov 28, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment