3 ms·
> we can host 10,000+ tenants on one machine -- something that's totally unrealistic with containers or VMs. This is definitely possible with containers. Docke
by cyphar 8y ago
> we can host 10,000+ tenants on one machine -- something that's totally unrealistic with containers or VMs.
This is definitely possible with containers. Docker has historically had density problems for a variety of reasons (its architecture as well as Go being awful for systems programming in this context). But you can definitely get this density with a simple container runtime that doesn't have large long running processes.
Saying you can't run 10k containers is like saying you can't run 10k processes on Linux.
I'm sure that it might be somewhat faster to have it supported in V8 directly, but I don't want people to think such density is impossible with containers. (And with page-cache sharing you'd be able to not have to load 10k V8 programs into memory as well.)
- hamandcheese 8y agoI think you are missing the point. Regardless of the number of processes you can run, the overhead of starting them and context switching between them is dramatically higher than the equivalent operations within a single V8 process.
- cyphar 8y agoThe part of the comment I was responding to was talking about it being impractical to have that many containers running, which isn't true. Later I mentioned that there are probably other benefits (having everything in one process does remove the need for TLB flushes and so on), but that isn't the only thing they said. They didn't say it's drastically faster, they said it's "unrealistic" which simply isn't true. Also things like page cache sharing would make a huge difference to the real memory cost of having many processes. When you run 10k programs you don't have 10k copies of glibc.
- bambataa 8y agoOut of interest, why do you say that Go is awful for systems programming in this context?