【发布时间】:2020-03-10 11:09:53
【问题描述】:
我使用 cloud-builder-communtry docker-compose image 运行 django unittests,它在云上运行速度要慢得多,但是我将 machineType 增加到 (N1_HIGHCPU_8 , N1_HIGHCPU_32)
在我的机器上运行(Intel(R) Core(TM) i7-4600M CPU @ 2.90GHz):7m48.115s 在 cloudbuild 上:15m18.019s 有时 +20m
我尝试过的解决方案: - 为每个 docker-compose 服务分配 CPU - 运行 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
【问题讨论】:
标签: google-cloud-platform docker-compose google-cloud-build