Maintaining Celoxis


Celoxis is easy to maintain. The most important part of maintenance is backing up the database, backing up the data directory (where uploaded files are stored) and regularly tuning the database.

Backup Database and Data Directory

The database and the data directory should be backed-up regularly to different machines than the one on which they reside. We highly recommend that you use the backup solutions you currently use to perform the backups. It is very important to check periodically that the backups are actually working. Not ensuring that the backup actually works is one of the most common issues we see faced by customers.

If you do not have any tools, you can use a combination of cron, pg_dump and rsync programs on Linux, while on Windows you can use a combination of Scheduled Task, robocopy to backup the data directory while you can use pg_dump for PostgreSQL and Maintenance plan for Microsoft SQL Server to create database backups.


Database Tips

The same software that runs on our cloud service and supports tens of thousands of users is running on your site. If you see a performance problem and if you have good hardware (a dedicated host with a modern CPU with at least 16GB RAM should be fine in most cases), you should check if your database is tuned correctly. Your database administrator should be able to help you with this.

PostgreSQL

You can optimize performance by tuning the following parameters in your postgresql.conf file. If you are using a cloud hosted database like Amazon Aurora or Google Cloud SQL, they will have their own way of specifying these parameters.

ParameterMinimumRecommended
shared_buffers2GB4GB
work_mem32MB128MB
maintenance_work_mem256MB512MB
default_statistics_target10005000

We also recommend that you run the vacuum analyze SQL command on the database every week.

Microsoft SQL Server

A SQL maintenance plan for rebuilding indexes and setting the index free space percentage to 10% within the Celoxis database should be scheduled to run monthly (preferably weekly). This maintenance plan should also be configured to update column statistics (index statistics are updated during the index rebuild process). We recommended that this plan be scheduled to run at a time when database utilization by the Celoxis application is at its lowest. This could be on a Sunday during the day or a during a scheduled maintenance cycle, etc.

You should also manually execute this maintenance plan after every major and minor upgrade as it could possibly be updating a lot of tables and records in the database leading to fragmentation and loss of performance.


Rebuilding the Search Index

Celoxis maintains a search index for advanced searching capabilities. Sometimes, it could happen that the search index is corrupted. To fix:

  1. Login as site administrator by going to Top MenuAdminSiteSetiings.
  2. Click Run admin program under Actions.
  3. Enter com.celoxis.psa.base.search.Reindexer in the Class Name field and submit.

After a few minutes (less than 30), your search index will be updated.