Description
Now that the first beta release of Symfony 2.7 is available, I tried to upgrade my client's projects from Symfony 2.6 to 2.7. After the upgrade, the application became extremely slow: Each request took two minutes (!) to complete.
Tracing down the problem, I found that a file_get_contents()
call inside the ConfigDataCollector
class of the HttpKernel component took so much time. Obviously, it's the version feedback feature introduced with #13626 that causes this trouble. I wasn't aware of this feature until then.
The problem is that the development team of my client is sitting behind a corporate proxy. Any attempt make HTTP calls without using the proxy will result in a timeout and I guess that is what's happening here. The version check should not slow down the application, which is probably why the response of the version check is cached. But since there is no response after a timeout, nothing is cached, so we're running into this timeout on every request. If I comment out the file_get_contents()
call, the application is running smooth again.
Please reconsider this feature or at least its implementation. The idea of notifying developers about outdated dependencies is not bad in general, but here it causes more harm than it actually helps.
Side note: Maybe it's a German thing, but I personally don't like software that secretly calls home.