SugarCRM makes for a great platform to develop applications that run a business. Many of the developer tools can be utilized to build functionality, often times with 1/10 of the time it would take a developer to write code. But will all that power and flexibility, there is room for items to creep up that greatly impact the speed of the system. In this article, we are going to review 3 of the most common items that impact the speed of a customized or integrated SugarCRM implementation.
The SugarCRM scheduler is a process that runs at a predefined interval to process some sort of action. In the out of the box version of SugarCRM this runs the pruning process, campaign email sends and workflows.
In a customized environment, many developers utilize the scheduler to move data for integrations or to process large amount of data on the backend. This is a great strategy which better utilizes the server resources and doesn’t lock the screen for the user on the front end.
The main problem is that without proper throttling or controls, the schedulers can quickly consume all resources on the server thus creating an unresponsive SugarCRM instance.
Often times when diagnosing a speed issue, the culprit ends up being the resources allocated to the database or the general size of the database server. There are a number of tools to monitor the database and determine if this is the bottleneck. Standard server monitoring like that which comes with Rackspace or Amazon Web Services ( AWS ) will give you plenty of details as to how often the DB is being overwhelmed. If you are self-hosted you can use free software like Nagios or purchase cloud monitoring utilities.
Data integration and movement can create some pretty intense load on SugarCRM. I once worked with a Fortune 500 client that was pushing over 100,000 marketing records per day to SugarCRM via the API. What most people don’t realize is that SugarCRM has to process a number of steps to properly get the data into SugarCRM.
This can also happen with other data intensive integrations that utilize the API.