我使用cloud-builder-communitry docker-compose image来运行django单元测试,它在云上的运行速度要慢得多,但是我将machineType增加到(N1_HIGHCPU_8,N1_HIGHCPU_32)
它在我的机器上(英特尔(R)酷睿(TM) i7-4600M CPU @2.90 And ) :7m48.115s,在cloudbuild上: 15m18.019s,有时+20m
我尝试过的解决方案:-为每个docker分配CPUs组合服务-运行django测试in parrallel
你有什么建议来优化我的实现?
我使用的docker-compose cloudbuild步骤示例:
- name: gcr.io/${PROJECT_ID}/docker-compose
id: run_tests
args: ['-f' , 'docker/docker-compose.yml' , 'up' , '--abort-on-container-exit' , '--exit-code-from' , 'django']Dockercompose.yaml示例:
version: '2.2'
services:
redis:
image: redis
expose:
- 6379
postgres:
image: postgres:9.6-alpine
command: -c max_connections=3000 -c fsync=off -c synchronous_commit=off -c full_page_writes=off -c max_locks_per_transaction=64
tmpfs:
- /var/lib/postgresql
datastore:
image: registry.hub.docker.com/google/cloud-sdk
entrypoint: bash
command: gcloud beta emulators datastore start --host-port=datastore:8081
pubsub:
image: registry.hub.docker.com/google/cloud-sdk
entrypoint: bash
command: gcloud beta emulators pubsub start --host-port=pubsub:8085
django:
entrypoint: bash
image: gcr.io/turing-striker-251910/base-image-python
command: >
-c "
coverage run ./manage.py test -v 0 core.tests --noinput --parallel &&
coverage combine &&
coverage report &&
coverage xml"
depends_on:
- pubsub
- datastore
- redis
- postgres发布于 2020-03-10 19:20:00
Docker compose only不适用于机器类型,它也适用于网络,如果你注意到docker镜像的大小是可变的,我测试了一个空容器来制作它的镜像,它的大小是1.42 GB,这个大小对于上传和构建应用程序来说是非常大的
https://stackoverflow.com/questions/60616411
复制相似问题