$ docker version
Client:
Version: 1.9.1
API version: 1.21
Go version: go1.5.1
Git commit: a34a1d5
Built: Sat Nov 21 00:49:19 UTC 2015
OS/Arch: darwin/amd64
Server:
Version: 1.9.1
API version: 1.21
Go version: go1.4.3
Git commit: a34a1d5
Built: Fri Nov 20 17:56:04 UTC 2015
OS/Arch: linux/amd64
My container does fmt.Fprintf(os.Stdout, "howdy ho\n") 10 million times. Gelf driver options look like this:
--log-driver=gelf --log-opt=gelf-address=udp://127.0.0.1:23010 --log-opt=gelf-tag=wtf
Endpoint does not respond, since nothing is running on port 23010.
- Just running my program in container and redirecting stdout to file: 22s — obviously good.
- Default log driver: 40s, CPU drops to zero after container exits — good-ish.
- Gelf log driver: 26s, CPU drops to zero after 5831s (!!!) — not good.
This makes docker pulls very sad. The more important thing: docker containers are slowing down too. I suspect that fwrite() to stdout blocks in containers, leading to code path blocking in programs.
cc @dqminh
My container does
fmt.Fprintf(os.Stdout, "howdy ho\n")10 million times. Gelf driver options look like this:Endpoint does not respond, since nothing is running on port 23010.
This makes docker pulls very sad. The more important thing: docker containers are slowing down too. I suspect that
fwrite()to stdout blocks in containers, leading to code path blocking in programs.cc @dqminh