How to configure Sugar CRM for scalability?
I was thinking to multiple instance of SugarCRM with same db shared.
What are best practices to configure it?
Thanks in advance.
The best technique is to scale horizontally, meaning, you should opt for more servers at the various layers, versus increasing the capacity of a single server. The latter could be done, but has limited use.
Per your comment, typically you would start by increasing the number of web servers you utilize to serve out your instance and have them all point to the same DB. An NFS would be an ideal way of sharing the Sugar files across all the web servers.
You would also want to consider using a technology such as memcache or Redis for session management. In addition, using some form of opcode caching technology for PHP is a must. Nowadays, we recommend using Zend Opcache.
Lastly, Sugar itself has some ways to leverage other tricks. For example, it is possible to setup your DB server to replicate to a secondary SQL server and then you can instruct Sugar to use the secondary server for some read-only operations such as generating ListViews or reports. Note that this feature is only available in Enterprise and Ultimate versions of Sugar.
you also might want look at the new sizing and scalybility document in the documentation:
Before scaling horizontally, please always start by seperating the individual servers (web, database, elatic search) to seperate machines. That way, you can slowly increase the complexity of your environment without having to dodge multiple potential pitfalls at once.
Retrieving data ...