You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker容器内Python运行速度慢于宿主机的问题求助

容器内Python运行速度慢于宿主机的问题排查

我遇到了Docker容器内运行Python的速度比宿主机系统慢的问题,无法解释这种差异。网上查了大量相关内容,试过的解决方案都没用。

基础测试情况

宿主机为最新版Arch Linux:

$ python --version
Python 3.11.5

$ python -m timeit 'from random import randrange
for _ in range(100): [randrange(50,500) for _ in range(randrange(30000,50000))]'

1 loop, best of 5: 3.07 sec per loop

使用python:3.11.5镜像测试:

$ docker run python:3.11.5-slim python --version
Python 3.11.5

$ docker run python:3.11.5-slim python -m timeit 'from random import randrange
for _ in range(100): [randrange(50,500) for _ in range(randrange(30000,50000))]'

1 loop, best of 5: 3.99 sec per loop

多次增加循环次数测试,结果一致:容器内运行时间比宿主机多0.5到1秒。试过--security-opt seccomp:unconfined参数,无明显改善。Docker不该有这么大开销,这是什么问题?

补充测试

Bash循环测试

宿主机测试:

$ bash -c "time for ((i=0; i<100; i++)); do
    for ((j=0; j<$(shuf -i 7000-8000 -n 1); j++)); do
        :
    done
done"

手动连续运行10次,结果约2.1秒。

容器内测试:

$ docker run python:3.11.5-slim bash -c "time for ((i=0; i<100; i++)); do
    for ((j=0; j<$(shuf -i 7000-8000 -n 1); j++)); do
        :
    done
done"

手动连续运行10次,结果约2.5秒。

Python复杂运算测试

宿主机测试:

$ python -m timeit '(82637**533333).bit_length()'
1 loop, best of 5: 1.36 sec per loop

容器内测试:

$ docker run python:3.11.5-slim python -m timeit '(82637**533333).bit_length()'
1 loop, best of 5: 1.63 sec per loop

内容的提问来源于stack exchange,提问作者fabien-michel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 17:02:38