PHP FPM Static Options

Discussion in 'Feature Requests' started by fatmike, Mar 6, 2019.

  1. fatmike

    fatmike Member


    It would be great if we could insert more options to php-fpm settings when choosing static as manager under Sites > Website > Options.

    I have to manually add pm.start_servers, pm.min_spare_servers, pm.max_spare_servers each time I update a website and then restart php.

    Let me know what you think.

    Kind Regards
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    Static means a fixed number of processes, so the settings you mention are not used by php-fpm and that's why they don't get added. The mentioned settings are used in dynamic mode only and ispconfig offers input fields and sets them in dynamic mode.

    So if you want to control FPM instances with the above settings, then static mode is the wrong PHP-FPM mode, switch to dynamic mode instead.
    fatmike likes this.
  3. fatmike

    fatmike Member


    Thanks for your answer.
    I've made a script that switch between dynamic and static depending on the hour of the day.
    The dynamic options are purged if static is used.

    Maybe thats very specific issue only in my situation.

    Thanks anyway
    Kind regards
  4. Jesse Norell

    Jesse Norell Well-Known Member Staff Member Howtoforge Staff

    I suspect so.

    I'm curious, do you happen to have performance numbers from your static vs. dynamic testing? Personally I'm using ondemand everywhere because it's the most resource (memory) efficient, but I'd be interested in the numbers if you have them. I wouldn't expect the mode makes a huge difference for the average website (probably more so for sites that get traffic spikes), though if you're looking to optimize every piece you can, it's probably worth a look in to.
    fatmike likes this.
  5. fatmike

    fatmike Member


    Sorry for the late answer I was out of town.

    For high traffic website I always use static option with opcache enabled. The response times are significant lower.
    My optimal php-fpm conf for a heavy(database wise >4GB) wordpress website with 50k/users 100k/pageviews per day looks like this(but of course you need to tweak this to your own needs).

    For this setup I provide a 6GB to InnoDB MySQL and 3GB to memcached. So this ends up around 12GB of memory just for one website. But as I said this is a heavy wordpress (news) site with medium to high traffic so according to my testings is needed if you want fast responses.

    memory_limit = 2048M
    upload_max_filesize = 32M
    post_max_size = 48M
    PHP-FPM pm.max_children: 60
    PHP-FPM pm.max_requests: 600
    For low traffic websites I use dynamic option as you do but I increase opcache.revalidate_freq significant (over 7200) or even disable it. Additionally I drop the opcache.memory_consumption under 128.

    If you need any further info let me know.

    Best regards
    Last edited: Mar 21, 2019
    Jesse Norell likes this.

Share This Page