在多用户测试期间,我正在运行命令docker stats <container_id> > performance.txt
一个多小时。一些统计数据,如内存、CPU增加,然后正常化。但是,正是随着NET I/O值的不断增加。
一开始,O/p是:
NAME CPU % MEM USAGE / LIMIT NET I/O BLOCK I/O PIDS
my-service 0.10% 5.63GiB / 503.6GiB 310MB / 190MB 0B / 0B 80
NAME CPU % MEM USAGE / LIMIT NET I/O BLOCK I/O PIDS
my-service 0.20% 5.63GiB / 503.6GiB 310MB / 190MB 0B / 0B 80
1小时后为:
NAME CPU % MEM USAGE / LIMIT NET I/O BLOCK I/O PIDS
my-service 116.26% 11.54GiB / 503.6GiB 891MB / 523MB 0B / 0B 89
NAME CPU % MEM USAGE / LIMIT NET I/O BLOCK I/O PIDS
my-service 8.52% 11.54GiB / 503.6GiB 892MB / 523MB 0B / 0B 89
如上所述,NET I/O的值总是在增加。这可能意味着什么?Docker文档说它是容器接收到的输入和给出的输出。如果是这样,为什么会增加?容器中运行的映像是否有问题?
NET I/O
是一个累积计数器。它只会上升(当你的应用程序接收和发送数据时(。
https://docs.docker.com/engine/reference/commandline/stats/
列名 描述 NET I/O 容器通过其网络接口发送和接收的数据量 docker stats命令为运行的容器返回实时数据流。
它被认为是自容器启动以来通过网络传递的数据总量。从流的定义来看:
计算连续的数据或指令流,
它没有明确地说这一点,但很明显,你可以通过术语continuous或stream来推断这一点。也许可以在这方面使文件更加明确一点。