Hi,

Thanks for the guide.

----snip----
> First of all, it is important to know that most EAS devices will keep
> HTTP connections open to SOGo (and thus, Apache) for a long time. This
> is required for "push" to work properly. Connections can stay open for
> up to one hour, or 3600 seconds.
-------------

 It is very informative, but might be improved if you want to minimize future 
help-requests, by:
* explaining what symptoms one would experience when SOGo is not correctly 
setup to handle push devices
* explaining if "Push" is mandatory mode or not on the devices (maybe for some 
devices and not others)
* explaining how to setup the EAS device according to the current SOGo setup 
(possibly disabling the Push feature)

==> this way if a user have a specific issue that is listed in this document, 
google would immediately index the issue and the corresponding solutions

As a testing reader, here are the specific questions I would like to get 
answers while reading the document:
* What would/could occur if a device configured to use "Push" EAS is 
disconnected from the SOGo server before the one hour timeout ?
* Would the synchronization be stopped and the device never reconnecting ?
* Will the device reconnect later, leading to the feeling that the SOGo server 
is not responding ?
* Can this lead to inconsistent responses from SOGo (no mail, some objects 
syncrhonized and not others, ...) ?

* Isn't there the same requirement to increase the TCP session lifetime on 
firewalls ? Indeed they might be set up to cut down old connections.

* As the requirements to support "push" is not easy to meet, one solution would 
be to refuse Push devices connections. Is it possible ? If yes, it would be 
nice to have an url to the EAS device setup with/without activating "Push" ?  

----Snip----
> Example 2 - 1000 users, 100 EAS devices

-------------

The 2 examples are great, but an administrator would immediately like to 
translate this to the server's requirements, so for these 2 examples, it would 
be great to have an idea of how much RAM/CPU would be required.

Thanks again for the great work on SOGo.
Best regards,
Thibault


Envoyé de mon iPad

> Le 6 févr. 2015 à 19:09, Ludovic Marcotte <lmarco...@inverse.ca> a écrit :
> 
> Hello,
> 
> Here is the first draft related to tuning SOGo / Microsoft Enterprise 
> ActiveSync.
> 
> Feel free to comment - as it'll be included in our official documentation.
> 
> === SNIP ===
> First of all, it is important to know that most EAS devices will keep
> HTTP connections open to SOGo (and thus, Apache) for a long time. This
> is required for "push" to work properly. Connections can stay open for
> up to one hour, or 3600 seconds.
> 
> The first parameter to check is related to Apache's proxying to
> SOGo:
> 
> ProxyPass /Microsoft-Server-ActiveSync \
> http://127.0.0.1:20000/SOGo/Microsoft-Server-ActiveSync \
> retry=60 connectiontimeout=5 timeout=360
> 
> The above line sets a timeout for up to 360 seconds, or 6 minutes. If
> you want to let EAS clients keep their HTTP connections open for up
> to an hour, you must change the timeout parameter and set it to 3600.
> 
> If you change this value, the WOWatchDogRequestTimeout parameter must be 
> changed
> accordingly in SOGo's configuration file (/etc/sogo/sogo.conf). By default,
> a SOGo child process is allowed to handle a request that can take up
> to 10 minutes before it gets killed by its parent process. When using
> EAS "push", the client expects to keep its connection open for up to one
> hour - so the WOWatchDogRequestTimeout, which is set in minutes,
> must be adjusted accordingly.
> 
> EAS clients clients will keep HTTP connections open for a long time
> during these two EAS commands: Ping and Sync. By default, SOGo will prevent
> EAS clients from keeping connections for a long time. This is to avoid the
> situation where all SOGo child processes would be monopolized by EAS clients -
> rendering the SOGo web interface or DAV interface unavailable. The
> default SOGo behavior is thus similar to disable EAS push entirely.
> 
> Two SOGo configuration parameters are available to modify this behavior:
> SOGoMaximumPingInterval (set by default to 10 seconds) and
> SOGoMaximumSyncInterval (set by default to 30 seconds). If you want
> connection to stay open for up to one hour, you should set these
> slightly under 3600 seconds (say 3540 - or 59 minutes). During a
> long-lived HTTP connection, the SOGo child process will perform
> internal polling to detect changes and return them to the EAS client
> if any changes are found. The parameter used to control this
> is SOGoInternalSyncInterval. By default, polling is done every 10
> seconds. This might generate too much load on large-scale system.
> 
> The last configuration parameter to adjust is WOWorkersCount - which sets the
> number of SOGo child process that will be used to handle requests.
> You should have at least one child per EAS device configured to use
> "push". You must also have more children than you have EAS devices
> configured to use "push" - in order to handle normal SOGo requests to
> its Web or DAV interfaces.
> 
> Here are some usage examples for EAS devices using "push". In all
> cases, the Apache timeout is set to 3600 and the
> WOWatchDogRequestTimeout parameter is set to 60.
> 
> Example 1 - 100 users, 10 EAS devices
> 
> WOWorkersCount = 15;
> SOGoMaximumPingInterval = 3540;
> SOGoMaximumSyncInterval = 3540;
> SOGoInternalSyncInterval = 30;
> 
> Example 2 - 1000 users, 100 EAS devices
> 
> WOWorkersCount = 120;
> SOGoMaximumPingInterval = 3540;
> SOGoMaximumSyncInterval = 3540;
> SOGoInternalSyncInterval = 60;
> === SNIP ===
> 
> Thanks,
> 
> -- 
> Ludovic Marcotte
> lmarco...@inverse.ca  ::  +1.514.755.3630  ::  http://inverse.ca
> Inverse inc. :: Leaders behind SOGo (http://sogo.nu) and PacketFence 
> (http://packetfence.org)
> 
> -- 
> users@sogo.nu
> https://inverse.ca/sogo/lists
-- 
users@sogo.nu
https://inverse.ca/sogo/lists

Reply via email to