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

This is an old revision of the document!


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 

* make the citadel user own them:

chown citadel:citadel /disk1/ctdldata /disk1/ctdldata/*
chown citadel:citadel /disk2/ctdllogs /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-2014 Uncensored Communications Group. All rights reserved.     Login (site admin)