Edit report at http://bugs.php.net/bug.php?id=54098&edit=1
ID: 54098 Comment by: marco at mimecom dot net Reported by: marco at mimecom dot net Summary: Overly high defaults in config Status: Assigned Type: Feature/Change Request Package: FPM related Operating System: Linux PHP Version: trunk-SVN-2011-02-25 (SVN) Assigned To: fat Block user comment: N Private report: N New Comment: Further arguing the low memory systems a bit: I commonly get myself a 512M slice to start development of a site. It's fast enough to develop on - and when time come to deploy, I'd ramp it up to something faster. So the low memory scenario is highly valid in my case. And even if we are not talking clouds, I think many places in the world would have low-memory hardware due to cost reasons. In the cloud, slices commonly start at 256M even - although even I feel it's too low. Compare to MySQL - a default install is tuned for the lowest common denominator as well, making sure it runs. The nice dining of large systems comes with a tuning dessert... Previous Comments: ------------------------------------------------------------------------ [2011-02-25 08:25:13] marco at mimecom dot net Well, since the configuration is active - not commented out - I'd say it is pretty much a default. A default make install would run with this configuration without modifications. You are right that my statement of there being a lot of 1Gb servers out there is taken out of the air - but I run a few (and two with 512Mb - still snappy), I know they are cheap (and it gets pretty expensive when you try to run larger servers) so it's just my *suspicion* that they are common. In any case, since the settings effectively are a default per above, I'd much rather see the software underperform than bring servers down. One way to fix it would be to comment out that setting and not let php-fpm start unless you go configuring yourself. But do mention in that comment to crosscheck with php's memory setting. It took a giant jump from a default 16M to 128M, which is why I think these settings kill servers. Before, at 16M, 50 was actually great. P.S. I don't really know what prompted that jump above, but it's not my concern... I guess there were reasons for it. ------------------------------------------------------------------------ [2011-02-25 08:05:19] f...@php.net It's not a bug it a feature ;) The subject will be discussed with other dev soon. I'll keep you updated. For me, default value, especialy those one should not be called "default value", but "exemple values". Saying that FPM is widely used in VPS with 512Mb of RAM is just a wrong assumption. As saying that FPM is widely used with physical servers with 12Gb of RAM. It depends on the server on which FPM runs but on the code itself. At the end, the sysadm is the only one who can set the right values. So if 50 is too high for some, they will lower it to 6. For others 50 will be too low and they will higher it to 200 or whatever. >From my point of vue, 50 is maybe quite too high, but the proposed value are too low. If you really want to lower the max and still use the dynamic PM, we can set: pm.max_children = 10 ;pm.start_servers = 2 ;pm.min_spare_servers = 1 ;pm.max_spare_servers = 4 ------------------------------------------------------------------------ [2011-02-25 05:56:06] marco at mimecom dot net Description: ------------ The default setting in the pool sets pm.max_children to 50, which with php's upped default memory_limit of 128Mb makes many moderately equipped machines to crash from out-of-memory. The settings combined makes it possible to consume 6GB of memory in a bad scenario. Since I suspect many a server nowadays are 1Gb (or even 512Mb) VPS's running on the different clouds out there, the settings are grossly excessive. I reported a bug against Ubuntu at first, but I think this is really the right place for it. https://bugs.launchpad.net/ubuntu/+source/php5/+bug/723480 pm.max_children should be more like 6 initially, with an explanation to increase the number if memory permits. Ether that or the default memory_limit should be lowered. I have read posts about running VPS where operators have to reboot every so often, and I think it *might* have to do with this problem, since I'm sure nginx+php+php-fpm is getting very popular as a stack. Expected result: ---------------- Snappy happy server. Actual result: -------------- Server get sad, wrinkles, get dementia, finally get a stroke and dies. Takes as long time as it took my mother but in computer-years. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=54098&edit=1