Hello,

there are improvements for this in the coming 2.0.2 and more to come
hopefully in 2.1.

On Tue, Oct 16, 2012 at 11:51 AM, Oliver Schad
<[email protected]> wrote:
> Hi folks,
>
> I recognized in some cases many many php processes like this:
>
> /usr/local/bin/php -f /etc/rc.filter_configure_sync
>
> I have a pfsense cluster here, which sync configs (not states).
>
> In some cases it happens that all memory and swap is consumed by this
> processes, one run has a duration between 15 seconds and some minutes.
>
> I saw that there is a lock in place, which waits for other php
> processes trying the same until they finish.
>
> I changed the behaviour with the following extension:
>
> ####################### snip #################
>
> --- filter.inc.old      2012-10-16 11:48:44.000000000 +0200
> +++ filter.inc  2012-10-16 11:36:13.000000000 +0200
> @@ -188,7 +188,11 @@
>         global $time_based_rules, $filterdns, $aliases;
>
>         /* Use filter lock to not allow concurrent filter reloads
> during this run. */
> -       $filterlck = lock('filter', LOCK_EX);
> +       $filterlck = lock('filter', LOCK_EX | LOCK_NB);
> +       if (!$filterlck) {
> +                die("couldn't get lock\n");
> +        }
> +
>
>         filter_pflog_start();
>         update_filter_reload_status("Initializing");
>
>
> ################ snap ########################
>
> The other way would be to make a real queue for doing things instead of
> starting hundreds processes in parallel and waiting to get a lock.
>
> What do you think of the change?
>
> Regards
> Oli
>
> _______________________________________________
> List mailing list
> [email protected]
> http://lists.pfsense.org/mailman/listinfo/list
>
_______________________________________________
List mailing list
[email protected]
http://lists.pfsense.org/mailman/listinfo/list

Reply via email to