Я использую cloud-builder-communitry docker -compose image для запуска django тестов юнитов, и он работает намного медленнее в облаке, однако я увеличил machineType до (N1_HIGHCPU_8, N1_HIGHCPU_32)
Требуется на моей машине (Intel® Core ™ TM i7-4600M CPU @ 2,90 ГГц): 7м48,115 с И в облачной сборке: 15 м 18,019 с, а иногда + 20 м
Решения, которые я пробовал : - Назначение процессоров каждому docker -композитному сервису - Запуск django тестов параллельно
Что бы вы порекомендовали оптимизировать мою реализацию?
Пример docker -создать облако, создайте шаг, который я использую:
- 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