[horde] High load with enabled activesync - Horde 5.1.2
Sascha Schmidt
sascha at schmidt.ps
Tue Sep 17 06:16:09 UTC 2013
Zitat von Michael J Rubinsky <mrubinsk at horde.org>:
> Quoting Sascha Schmidt <sascha at schmidt.ps>:
>
>> Zitat von Sascha Schmidt <sascha at schmidt.ps>:
>>
>>> Zitat von Arjen de Korte <arjen+horde at de-korte.org>:
>>>
>>>> What is the value of $conf[activesync][ping][waitinterval]? Looking at
>>>> the above log, it looks like it is not set. This could be the reason
>>>> why
>>>> it is now continuously looking for changes. That's definitly not what
>>>> you want. Try setting it to something like 60 seconds or so.
>>>
>>> After changing the configuration values to:
>>> conf['activesync']['enabled'] = true;
>>> $conf['activesync']['emailsync'] = true;
>>> $conf['activesync']['version'] = '14.1';
>>> $conf['activesync']['logging']['path'] = '/var/log/horde';
>>> $conf['activesync']['logging']['type'] = 'custom';
>>> $conf['activesync']['ping']['forcedheartbeat'] = 60;
>>> $conf['activesync']['ping']['deviceping'] = false;
>>> $conf['activesync']['ping']['waitinterval'] = 60;
>
> The "heartbeat interval" is the amount of time that the PING or Looping
> SYNC will maintain an open connection. If no changes are detected before
> this time expires, a response is sent to the client and the connection
> terminates (the client then usually issues another request).
>
> The "waitinterval" is the number of seconds to wait between checking the
> backend systems for changes.
>
> You have set a forced heartbeat of 60 (almost certainly not really what
> you want), and a waitinterval of 60. This means that the heartbeat will
> most likely expire before the end of the waitinterval.
>
> If you *really* want to force a hearbeat time (and such a short one at
> that), then your waitinterval should be much smaller.
>
> The most efficient thing to do is to let the client manage the heartbeat
> interval. Most clients have a smart algorithm that changes the interval,
> and frequency of retries in the case of errors etc... depending on
> things like network conditions. The shorter the heartbeat interval, the
> quicker the battery on mobile devices will drain since it takes much
> more energy to initiate the connection then it does to maintain an open
> connection. This is why, by default, most clients will attempt a
> heartbeat closer to 60 minutes, if not longer.
Thanks for your detailed informations... Could you provide a set of
configuration parameters which should work nicely with horde AND save
battery life of the mobile devices?
My complete activesync config:
$conf['activesync']['enabled'] = true;
$conf['activesync']['emailsync'] = true;
$conf['activesync']['version'] = '14.1';
$conf['activesync']['logging']['path'] = '/var/log/horde';
$conf['activesync']['logging']['type'] = 'custom';
$conf['activesync']['ping']['waitinterval'] = 60;
But the script (backend) still sleeps just 10 seconds...
Thanks
Sascha
More information about the horde
mailing list