Performance FAQ

I have imported or created thousands or tens of thousands of records in CRMery and CRMery is running slow. How do I improve the performance of my website?

The following are some recommendations in terms of how to improve performance on your website as well as information about a known CRMery issue. Note: If you need assistance with any of the following please contact your website administrator or website host for assistance as website and server support are beyond the scope of CRMery support:

1) Either Install CRMery on its own dedicated website such as a vanilla Joomla install (recommended) with no third party plugins etc. installed and using the default Joomla Protostar template for best results.


Alternatively go through your current website and Joomla Extension Manager and unpublish / uninstall all Extensions that you do not use as it can help speed up the page load.


2) Turn on gzip and cache. Use conservative cache, because progressive cache creates a special cache for each user. So it can slow down your site instead of speeding it up. you may also generate cache automatically each night and set the cache Time to 24 hours. This way your website will not be slowed down on the first page visit when a cache creates itself for public web pages on your site. You may search Google for more information about this.


3) If you want to do deep performance diagnosis, use tools similar to New Relic which can point out which controller slows down your website the most so you would know what to optimize.


4) Please note that CRMery does not delete removed records (from the CRMery front-end). Instead, it unpublishes them.

In other words, if deal, people, or company data is removed from the CRMery front-end it is NOT deleted from the database. This is a safety precaution until if or when a proper Trash / deletion system could be implemented. In other words, the only way to permanently delete deal, people, and company data is via the database. For example, when a record is removed from the front-end it sets the field titled "published" to a value of -1 within the database . -1 means unpublished whereas a value of 1 tells the database that it is published.

Deals are stored within _crmery_deals

People are stored within _crmery_people

Companies are stored within _crmery_companies

Note: Before taking any action with your database, please make a full backup of the database and test the backup to ensure that it works correctly. That said, one option would be to write a database command to delete / remove unpublished records if you no longer need them. Another option would be to attempt a CRMery database wipe and start over and re-import only the records that you need.


5) Make use of indexes in your database. This will help improve performance.


6) It is also recommended to optimize your web server settings / configurations. If you need assistance with this, please contact your web hosting provider. Please note that Apache itself is a memory hog. In other words, it uses up a lot of memory (even with very little traffic on the website).

Note: CRMery is not currently supported nor compatible with Nginx and php-fpm. However, generally speaking (for informational purposes only) Nginx with php fpm can significantly speed up the performance on your website especially once it is fully implemented and optimized. For example, Nginx can potentially handle up to thousands of simultaneous website connections whereas with the same hardware configuration apache has been known to struggle with only a few dozen connections. That said, for Nginx setup and optimization guides these are available via Internet search. However, if using CRMery on your server you will need to continue using Apache with PHP 5.3.X - 5.6.X as outlined within the system requirements.

7) If using CRMery and if experiencing timeouts such as when importing records you may also wish to consider updating your php.ini timeout and memory settings to higher values (provided your web server has enough free RAM available. Note: Additional information about this is available within the timeout section of the CRMery Import & Export FAQ

8) If following the above and if still having performance issues / slowness on the website, you may also update your website hosting plan and upgrade to more memory (RAM) and a faster cpu for an increase in speed. Note: You may also try changing hosting providers to a different hosting company as this may also improve performance.

That said, the above items 1-8 are about the extent to which you may do on your own to optimize your website, unless you wish to hire a qualified third party developer to make changes to your website and or CRMery to improve the speed

In terms of a known optimization issue, the development team is aware of one issue when dealing with thousands of CRMery records.

Essentially, the bottleneck is the ORDER BY statement. Without this statement, the query is a lot faster. Note: No work has yet to be done on said optimization nor is there an ETA available of if or when said optimization would be implemented. If implemented, one proposed solution is to add a switch in the CRMery setting to disable default sorting (which by default sorts by name) so that on the first page load or search within the deal, people, and company records it will load faster. However, this would not help if needing to order / sort said records as it would be slower.


Seeing is Believing. Try Our Fully Functioning Demo.

Experience the incredible power of a Joomla! CRM. Both front and admin demo's are available.