Sugar Professional and Sugar Enterprise are designed to scale without needing significant additional resources. Internal tests have shown that a single high power server with eight 86x64CPU cores, 16GB of RAM and enterprise storage running the entire application stack (Sugar application, PHP, web server and database server) can support up to 400 of concurrent Sugar users.
These sizing guidelines are based upon scalability testing performed using routine tasks, such as viewing records and occasional editing of records, with minimal use of the Sugar reporting module. More resource-intensive use of the system may result in a noticeable decrease in system performance.
Under most generally accepted use case scenarios, 400 concurrent users will represent far more named users of the Sugar system, as it is rare that all users will be accessing the system simultaneously. A common use case is to assume 25% concurrency, in which a single server described above can support 1,600 named Sugar users (400 concurrent users x 4).
Storage requirements for any CRM deployment vary greatly depending on the scope and usage of the Sugar application. Specifically, storing large amounts of email attachments, media files or other documents in the system will greatly increase storage requirements. Note that Sugar stores documents on the server file system and not in the database.
For estimating database sizing, a single record stored in Sugar will average approximately 2kB in size. With 10,000 records in the system ranging across common record types such as contacts, accounts, opportunities, a typical Sugar deployment would require at least 20MB of database storage. A pre-deployment assessment of the data to be imported into the system can insure proper storage is provisioned for the system.
Guidelines for Single Server, Virtualized, and Cloud Server Deployments
In low compute power, single server configurations where the web server and database server are deployed on the same physical or virtual machine, the number of concurrent users supported decreases significantly. Machines with less than 4GB of RAM, fewer than four CPU cores, and virtualized or consumer-grade disks will experience sharp performance drops when running both the web server and database server on the same machine.
For Sugar deployments with more than 50 named users, a single server configuration must have four or more CPU cores and eight or more GB of RAM. For more then 100 named users, please refer to the guidelines for large deployments. Please consult the table below to determine a more specific hardware configuration.
||i5 cores or equivalent
||2 x i5 cores or equivalent
||2 x i5 cores or equivalent
||4 x i5 cores or equivalent
Configuration Guidelines for Single Server Deployments
Guidelines for High Availability and Large Scale Deployments
For large scale and high availability (HA) deployments, please refer to the diagram below. In general, the application stack will be partitioned across multiple servers with the web server clustered across multiple application servers and the database server clustered across multiple database servers.
This diagram describes a generic cluster configuration that will scale as more hardware is added. A base guideline of 400 concurrent users per application server will determine the number of application servers needed. The number of database servers needed depends on system usage, however tests have shown that a high-powered database cluster can typically support up to eight application servers. Note that this diagram has been designed around the Linux, Apache, PHP and MySQL (LAMP) technologies.