Home Download News FAQ / Knowledge Base Screenshots Documentation Support
philosophical imaginary

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:

* Your Citadel installation is in /usr/local/citadel

* Your database will be on /disk1/ctdldata

* Your database logs will be on /disk2/ctdllogs

Here's how to do it:

* Shut down the Citadel service. The citserver process should not be running while you perform this operation.

* 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

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.

Copyright © 1987-2020 Uncensored Communications Group. All rights reserved.     Login (site admin)