Symfony2 app always has a 3 second wait between kernel.request and kernel.controller

I’m trying to build this symfony2 application in a docker container with PHP7 and nginx with FastCGI PM.

Every time the application executes I get this mysterious 3 seconds of unaccountable execution time between the kernel.request and the kernel.controller.

  • Nginx setup and v1/** endpoints access
  • Sublime plugins execute in docker container
  • How to get forever to print child process output to stdout.
  • Gitlab migrate from 6.x to 8 in docker
  • Using same Docker machine across different client devices
  • How can I access from outside my docker container in mac?
  • You can see the odd request timeline in this screenshot:
    enter image description here

    This application doesn’t have this behavior when I run it on my typical php5.5+apache2 config on my vagrant machine, so I’m not sure if it’s something with my PHP config or PHP7, but I’m wondering if someone has seen something like this before and has any idea what might be happening here?

    Edit here’s the docker_compose config:

      build: /opt/cafe
          - "9981:80"
          - "CAFE_CACHE_DIR=/tmp/cafe/cache"
          - "CAFE_LOG_DIR=/var/log/cafe"
          - "SF_ENV=local"
          - /var/log/php7:/var/log/php7
          - /var/log/nginx:/var/log/nginx

  • Licensing in Docker containers
  • Access tomcat running in docker container by JMX
  • Connection refused when trying to run Kong API Gateway using a docker container
  • Docker api: push an image to docker hub private repository
  • exec not found using Dockerfile ENTRYPOINT
  • Execution of python script hangs while executing docker exec command
  • 3 Solutions collect form web for “Symfony2 app always has a 3 second wait between kernel.request and kernel.controller”

    In case anyone is curious, or having the same issue, I finally found the problem and it was not what I expected. When I was setting up this project for PHP7 I couldn’t use the standard linux distro that I normally would have, I had to add all the configuration files myself.

    After painstaking analyzing my code, I found out that the exact line, that was stalling, was a place I was running get_browser() ( in a kernel.controller listener. get_browser() was having a performance problem because of the browscap.ini file I used when setting up my php configuration in the container. I guess, for some reason, the browscap.ini file I used was having parsing issues or something. I changed it out with the lite_php_browscap.ini version and now it runs very very quick with no problem.

    enter image description here

    Also have been busy with Symfony performance within a box lately. The following quite recent article was the best recap I could find about it:

    This is because the vendor directory of Symfony. It needs too many IO operations. And the performance of VirtualBox synced folder is very very slow the benchmark.

    You can move vendor directory outside the synced folder. Like my way below:
    This is My question.

    But, at last, I have no best solution. So, I have moved to pure linux environment to write my code now.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.