3 Tricks to Improve the Speed of SugarCRM Instance
By Amer Wilson
The combination of technology and agility has dramatically reshaped the business landscape. Thousands of companies across the globe rely on SugarCRM to get a 360 degree view of the entire sales cycle and serve their clients in an outstanding fashion. For most salespeople, their CRM system is the first app they log into at work & the last one they log out of at the end of the day.
Every opportunity is accompanied by some challenges and the CRM software is no exception. There are instances, especially while working with huge volumes of data, that SugarCRM does not perform operations as fast as one would hope for.
Your business cannot afford to have efficient business processes if SugarCRM has slow response time e.g. telephone number searches take several seconds within Sugar or one has to wait for long periods of time till Sugar fetches the list of relevant leads and contacts. Even worse could happen: data import does not get completed within the specified timeframe. Failing to simplify and optimize SugarCRM processes will result in high ownership costs and bring low return on investment.
Slow response time of Sugar can be irksome. We want you to get the full value out of your SugarCRM and hence we are going to share some insights from our certified SugarCRM experts that are fairly simple and easy to implement and will enhance the speed of your SugarCRM instance.
So let’s get the ball rolling:
1. PHP Optimization
When running Sugar on-site, it is important to optimize your server to get the best performance possible. A number of techniques could be deployed but here we are mainly interested in PHP caching.
Caching means temporary storing of recently used information in order to make it faster to get the needed data, which helps to improve the work efficiency and overall performance of the system. Caching is quite simple in configuring, and it can speed up the CRM system performance.
PHP caching is used to build and store dynamic information. This allows for PHP to operate more efficiently. As a developer, one of the fundamental lessons that is taught is what can be cached and how often can it be cached.
First and foremost, make sure that you are using the most recent and stable version of PHP along with an opcode cache such as APC or Wincache. We would recommend APC especially if your are using Apache but Wincache is equally good.
Make sure the following settings are disabled as they have the potential to drastically slow down any program:
iii) always_populate_raw_post_data php.ini settings.
Apart from this, make sure that you remove all directories which you do not need from the include_path directive. The speed can also be increased by using an external cache. Common use cases for external caching including reducing database queries of largely static data such as configuration data, storing the output of computationally heavy calculations, or caching the results of heavy system calls such as file system scans.
With caching enabled, you will see dramatic improvements in performance as well as scalability leading to better user productivity and reduced hardware needs.
2. Database Indexes Tuning
Improper indexing acts as an impedance to the smooth running of Sugar. Tuning your database indexes, cleansing the tables that include technical data is bound to give you a distinct advantage and unlock the real power of Sugar.
Database servers consume lots of memory and storage space so it’s usually a smart move to keep your database server on a different machine than your web server.
Also, what you can do is amplify the performance of your query cache by using transparent caching, by caching full queries and making sure that queries are deterministic. This can result in a huge leap in server side performance.
If you are using Sugar Enterprise or Ultimate, you can configure a slave database to help speed up the Reports module and keep the rest of the app running smoothly when users are running reports.
Ensure the scheduled job, ‘Prune Database on the 1st of Month‘, is set to ‘Active’. This will go through your database and delete any records that have been deleted by your users. Sugar only soft deletes records when a user deletes a record and over time, this will cause performance degradation if these records are not removed from the database. This will help achieve optimal levels of performance.
3. SQL Queries Optimization
The real cause of any performance issues is poorly optimised database queries.
Is your database running too slow? Don’t worry as we have an easy to implement solution for you.
The best tool for improving database performance is analyzing what queries are being run on your database server and how long they are taking to run. Just about every database out there has tools for doing this. With MySQL, you can take advantage of the slow query log to find the problematic queries.
First of all, make sure that all of your tables are the same character set. If they are not, this can greatly slow down queries that join between tables of different character sets.
Next up is making sure that you are properly utilizing the MySQL Query Cache. This cache saves the results of select queries so that if the same query comes in again before changes to the table, the results can be returned much more quickly.
If query_cache_type is set to something other than “ON” or query_cache_size is set to 0, you will want to change these! 32MB is a fine start, but depending on your workload you may need more to get the full benefit from this.
The article sheds light on 3 simple tricks that can be used to optimize the speed of your Sugar. However, there are numerous other techniques that can be deployed to enhance the speed of Sugar instance, thus providing the best possible experience to the users.