我正在运行这个脚本来测试我的 docker 容器上的 I/O 性能。
from tempfile import NamedTemporaryFile
d = 500
n = 100000
with NamedTemporaryFile() as f:
for i in range(n):
nums = []
for j in range(d):
nums.append(str(round(random.uniform(0, 1000), 3)))
s = ' '.join(nums)
f.write(s.encode())
f.write('\n'.encode())
奇怪的是执行时间因容器而异
- 在容器 1 上:65.96740865707397 秒
- 在容器 2 上:71.00589632987976 秒
这两个容器之间唯一不同的是 docker 执行的命令:
- 容器 1 命令是:./manage.py runserver 0.0.0.0:80(这是 django)
- 容器 2 命令是:python3 manage.py rqworker my_queue(这是 django_rq)
你知道为什么我有 5 秒的差异吗?或者你知道我在哪里可以调查?