-
Notifications
You must be signed in to change notification settings - Fork 18
Open
Labels
Docker ContainersAll about those tiny little crittersAll about those tiny little crittersDrupal9Drupal9 is the new Drupal8 which was the new Drupal7 wich was the...Drupal9 is the new Drupal8 which was the new Drupal7 wich was the...External BugSome package, dependency needs some Pet Friendly Bug controllSome package, dependency needs some Pet Friendly Bug controllService SettingsDocker settings, Service Settings. What allows us to run the thingDocker settings, Service Settings. What allows us to run the thing
Milestone
Description
Hey. Memory leaks and garbage collection in PHP.
So. During my super production tests and while allowing a HUGE file (Gbyte+ to be delivered on demand to a viewer) to deal with a Range-IF request I saw a few PHP Out of memory messages.
Guzzle was leaking memory through Symfony (binaryresponse).
NOTICE: PHP message: PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 989388968 bytes) in /var/www/html/vendor/guzzlehttp/psr7/src/Stream.php on line 225
Digging deeper and deeper happened to be a PHP bug (not our first one but also means we are stretching things quite a bit!)
See php/php-src#5014
The actual solution was merged in PHP 7.4.3+. So. Time to move forward if we want to support large large files. Related to this exploratory commit.
esmero/format_strawberryfield@f53adb4
What will happen?
- New Docker container for our PHP (esmero/7.4-fpm:1.0.0-RC1) which will also include (building as we talk) some new performance improvements (and done as I finished)
> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:c88c3e29abfe9e657aa37c51ee123be73ca6d67ceb70512e25c21b0aba4f0a8b 0.0s
=> => naming to docker.io/esmero/php-7.4-fpm:1.0.0-RC2 - modified docker-compose for all 1.0.0-RC1 options using this
But now some testing first!!
Metadata
Metadata
Assignees
Labels
Docker ContainersAll about those tiny little crittersAll about those tiny little crittersDrupal9Drupal9 is the new Drupal8 which was the new Drupal7 wich was the...Drupal9 is the new Drupal8 which was the new Drupal7 wich was the...External BugSome package, dependency needs some Pet Friendly Bug controllSome package, dependency needs some Pet Friendly Bug controllService SettingsDocker settings, Service Settings. What allows us to run the thingDocker settings, Service Settings. What allows us to run the thing