V
V
Viktimius2021-11-15 19:46:48
PHP
Viktimius, 2021-11-15 19:46:48

How to debug slow query execution between docker containers and the main system, and between docker containers?

There is a problem with the docker configuration on windows 10 - requests are executed for about 5-6 seconds, although in general the database is empty, there are several directories and a minimal set of data, while everything works quickly on linux systems.

docker config

61928e6fe523f113714534.jpeg


docker-compose

version: '2'
services:

  rabbitmq:
    image: rabbitmq:latest
    restart: always
    networks:
      - front_bridge
    ports:
      - "5671"
      - "5672"

  postgres_test:
    image: ********:postgres-test
    restart: always
    networks:
      - front_bridge
    ports:
      - "32799:5433"

  postgres_history:
    image: ********:postgres-dev-2
    restart: always
    networks:
      - front_bridge
    ports:
      - "32798:5432"

  postgres_report:
    image: ********:postgres-dev-2
    restart: always
    networks:
      - front_bridge
    ports:
      - "32797:5432"

  postgres_oms:
    image: ********:postgres-dev-1
    restart: always
    volumes:
      - ../dlvr:/oms
    links:
      - postgres_history
      - postgres_report
      - postgres_test
    networks:
      - front_bridge
    ports:
      - "32800:5432"

  nginxoms:
    image: ********:nginxoms-v2
    volumes:
      - ../dlvr:/oms
    links:
      - postgres_oms
      - php_oms
      - postgres_test
    ports:
      - "8000:8080"
    networks:
      - front_bridge
    restart: always

  php_oms:
    image: ********:php-fpm-v21-mail-git
    restart: always
    volumes:
      - ../dlvr:/oms
    networks:
      - front_bridge
    ports:
      - "587:587"
    environment:
      - environment=oms

  postgres_cc:
    image: **********:postgres-dev-1
    restart: always
    volumes:
      - ../contact-center:/cc
    networks:
      - front_bridge
    ports:
      - "32787:5432"

  nginxcc:
    image: ********:nginxcc-v2
    volumes:
      - ../contact-center:/cc
    links:
      - postgres_cc
      - php_cc
      - postgres_test
    ports:
      - "8002:8080"
    networks:
      - front_bridge
    restart: always

  php_cc:
    image: ********:php-fpm-v21-git
    links:
      - postgres_cc
      - postgres_history
      - postgres_report
      - postgres_test
    restart: always
    volumes:
      - ../contact-center:/cc
    networks:
      - front_bridge
    ports:
      - "9000"
    environment:
      - environment=cc

  postgres_rest:
    image: ********:postgres-dev-1
    restart: always
    volumes:
      - ../restaurant:/restaurant
    networks:
      - front_bridge
    ports:
      - "32786:5432"

  nginxrest:
    image: ********:nginxrest-v2
    volumes:
      - ../restaurant:/restaurant
    links:
      - postgres_rest
      - php_rest
      - postgres_test
    ports:
      - "8001:8080"
    networks:
      - front_bridge
    restart: always

  php_rest:
    image: ********:php-fpm-v21-git
    links:
      - postgres_rest
      - postgres_history
      - postgres_report
      - postgres_test
    restart: always
    volumes:
      - ../restaurant:/restaurant
    networks:
      - front_bridge
    ports:
      - "9000"
    environment:
      - environment=restaurant

networks:
  front_bridge:
    driver: bridge
volumes:
  restvolume:
  ccvolume:
  omsvolume:

Answer the question

In order to leave comments, you need to log in

3 answer(s)
S
sl0, 2021-11-15
@Viktimius

Oh, those advisers of switching to Linux.
A common problem is when the files are physically located in the Windows file system. Move them inside wsl so they can be accessed via \\wsl$\Ubuntu-20.04 (or whatever distribution it is). Then the problem will disappear.

I
inFureal, 2021-11-15
@inFureal

Also encountered this. The problem is wsl2. Namely, in the windows file system. There are already a bunch of issue in the main repo.
For now, the option is to switch to HyperV. If not available - suffer

R
rPman, 2021-11-17
@rPman

take it for granted, docker is a child of linux, and it was ported to windows as it turns out, not from evil, but solely because windows is a complex system and it’s really not easy to file a sandbox there.
for developers, or rather devops, it’s really easier to live on linux, especially when you work with open source (and the vast majority of libraries are foss anyway), I advise you not to suffer at last and start working in linux,
microsoft understands this for a long time and therefore washed down wsl, because it a way to somehow keep the main thing that determines what operating systems people will use in the end - developers developers developers!

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question