Home Download FAQ / Knowledge Base Screenshots Documentation Support Roadmap

How may I improve performance by placing the databases and/or database logs on separate disk subsystems?

In a very large or heavy-use environment, you can improve the performance of Citadel's data store by placing the databases and/or database logs on a separate disk, or disk array. This is very easy to configure.

Here are the required steps. Here are the assumptions that are being made in this example:

Here's how to do it:

Shut down the Citadel service. The citserver process should not

Move the existing database files:

mkdir /disk1/ctdldata
mv /usr/local/citadel/data/cdb.* /disk1/ctdldata

Move the existing log files:

mkdir /disk2/ctdllogs 
mv /usr/local/citadel/data/log.* /disk2/ctdllogs 

Ensure that these directories and files are owned by the 'citadel' user:

chown -R citadel:citadel /disk1/ctdldata
chown -R citadel:citadel /disk2/ctdllogs

Create a file called /usr/local/citadel/data/DB_CONFIG containing the following lines:

# Set database paths
set_data_dir    /disk1/ctdldata
set_lg_dir	/disk2/ctdllogs

Restart the Citadel server.

That's really all there is to it! It's up to you to decide how many disk subsystems to use. You might want to just move the logs, or you might want to move the logs and the databases. For maximum performance, make sure your disk subsystems are on separate I/O channels. During normal operation you will observe that the Citadel data store maximizes the use of both channels and disk subsystems.

There are no social media links here. Enjoy a friendly Citadel community instead. Or go outside.