[horde] High load with enabled activesync - Horde 5.1.2

Michael J Rubinsky mrubinsk at horde.org
Tue Sep 17 15:55:29 UTC 2013


Quoting Sascha Schmidt <sascha at schmidt.ps>:

> 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...

You really should use the GUI to change these values. You are missing  
the deviceping setting. That being said,
unless you recreated the device's account, some devices may still use  
the previously configured heartbeat values for some time. So, if after  
correctly configuring this in the GUI it still doesn't work, you can  
either recreate the device accounts and let the device manage the  
heartbeat, or you can explicitly set a larger value for deviceping.

-- 
mike

The Horde Project (www.horde.org)
mrubinsk at horde.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5849 bytes
Desc: S/MIME Signature
URL: <http://lists.horde.org/archives/horde/attachments/20130917/7f3641cb/attachment.bin>


More information about the horde mailing list