General discussion on installation and configuration of SOGo

Text archives Help

Re: [SOGo] Question regarding SOGo scalability

Chronological Thread 
  • From: Federico Alberto Sayd < >
  • To:
  • Subject: Re: [SOGo] Question regarding SOGo scalability
  • Date: Mon, 21 Jul 2014 16:33:27 -0300

On 21/07/14 14:46, Rodrigo Habib Gregori wrote:

We were considering moving from zarafa community to SOGo, but we are
concerned about possible scalability problems with it. Right now we have
around 4000 mailboxes and zarafa can't deal with it anymore.

Our current infrastructure is of 3 servers, one for Zarafa-Server (+postfix),
one for Mysql and a third one only for Apache (webaccess) and Z-Push. Both of
them are Citrix Xenserver guests, with 16+ processors and 32GB RAM. Servers
CPU load are not an issue, but zarafa-server freezes almost in a daily basis.

The access is currently 100% webclient only with a few users syncing to their
smartphones. With SOGo we planned on using Thunderbird + Connector.

We wonder if SOGo can handle such a user base of this size (actually the base
is going to increase: probably 12.000 mailboxes - at least - in 2 or 3 years).

Does anyone have experience with such an environment?

Kind Regards,

Rodrigo Gregori
Network Administrator
Prefeitura de Joinville
+55 47 3431-3289
rodrigo.gregori at
You can redistribute the load with a load blance setup:

We use HAproxy for HTTP load balance.

IMAP connections can be balanced with a proxy as Perdition or the native
Dovecot proxy functionallity. You will need to configure Postfix to
forward the incoming mails to the storage backend server where resides
the account mailbox; you can use use LDAP to store the mailbox server
info for every user.

If you don't want to redistribute the mailboxs over several storage
servers, you can use a centralized storage such as NFS or gfs, ocfs2, etc).

SMTP can be balanced with DNS mx records.

OpenLDAP provides replication and you can balance it with DNS.

SOGo provides a method to redistribute the DB data between more than one
DB backend. The DB connection parameters can be configured per user
basis. But such feature isn't documented :-(.

Alternatively you can setup a DB cluster, but I think that it is more
complicated and requires more maintenance.

Or, if you have the money, buy commercial support to Inverse (SOGo
developers) and consult with they the recommended architecture.



Archive powered by MHonArc 2.6.18.

Top of page