Documentation
Compilation
mod_dbi_pool
uses the "configure/make/make install
"
mechanism common to many Open Source programs.
Most of the dirty work is handled by either configure or
Apache's apxs utility. If you have built Apache modules before, there
shouldn't be any surprises for you.
The interesting options you can pass to configure are:
--with-apxs=/path/to/apache/dir/bin/apxs
This option is used to specify the location of the apxs utility that was installed as part of apache. Specify the location of the binary, not the directory it is located in.
--with-dbi=PREFIX
Prefix where libdbi is installed.
--help
Provides a list of available configure options.
./configure --with-apxs=/usr/sbin/apxs2 make make install
Integration into Apache
To activate mod_dbi_pool
Just add
LoadModule dbi_pool_module modules/mod_dbi_pool.so
to your httpd.conf
and restart Apache.
mod_dbi_pool
also provides two exported functions for other Apache Modules to use:
dbi_conn *dbipool_open (conn_id id); void dbipool_close (conn_id id, dbi_conn* conn);
Configuring with Apache
A configuration set
is all the parameters that describe one
database pool. You can have an unlimited number of configuration sets
,
and each set can be used concurantly.
mod_dbi_pool
has the following directives:
- PoolDbiConnHardMax
- PoolDbiConnMin
- PoolDbiConnSoftMax
- PoolDbiConnTTL
- PoolDbiDBName
- PoolDbiDriver
- PoolDbiHost
- PoolDbiPassword
- PoolDbiUsername
Add the following to your httpd.conf
for a simple pool:
PoolDbiDriver Server1 mysql PoolDbiHost Server1 10.0.0.20 PoolDbiUsername Server1 myuser PoolDbiPassword Server1 mypass PoolDbiDBName Server1 vhost_dbi PoolDbiConnMin Server1 1 PoolDbiConnSoftMax Server1 1 PoolDbiConnHardMax Server1 5 PoolDbiConnTTL Server1 30
PoolDbiConnHardMax
Description: | The Hard Maximum Number of Database Connections |
---|---|
Syntax: | PoolDbiConnHardMax CONFIG_SET NUMBER |
Default: | 25 |
Context: | server config |
This is the absolute maximum number of connections that mod_dbi_pool
will open for this configuration set.
PoolDbiConnMin
Description: | The Minimum Number of Database Connections |
---|---|
Syntax: | PoolDbiConnMin CONFIG_SET NUMBER |
Default: | 1 |
Context: | server config |
The minimum number of connections to the database server that mod_dbi_pool
will maintain for this configuration set.
This is also the number of connections that mod_dbi_pool
will create on start-up for the given configuration set.
PoolDbiConnSoftMax
Description: | The Soft Maximum Number of Database Connections |
---|---|
Syntax: | PoolDbiConnSoftMax CONFIG_SET NUMBER |
Default: | 5 |
Context: | server config |
The soft maximum number of connections to the database server that mod_dbi_pool
will maintain for this configuration set.
Idle connections above this limit will be closed after the time set by AuthnDbiConnTTL has expired for them.
PoolDbiConnTTL
Description: | The database pool time-to-live for each connection. |
---|---|
Syntax: | PoolDbiConnTTL CONFIG_SET SECONDS |
Default: | 600 |
Context: | server config |
This gives the time in seconds after which idle connections above the soft limit will be closed.
PoolDbiDBName
Description: | The name of the database containing the tables |
---|---|
Syntax: | PoolDbiDBName CONFIG_SET DB_NAME |
Default: | mod_dbi |
Context: | server config |
The name of the database that will be used.
PoolDbiDriver
Description: | Sets the Driver that DBI Uses |
---|---|
Syntax: | PoolDbiDriver CONFIG_SET DB_DRIVER_NAME |
Default: | mysql |
Context: | server config |
The name of the driver that is passed to libdbi. The possible values depend on what libdbi drivers you have installed.
PoolDbiHost
Description: | The host for the database connection |
---|---|
Syntax: | PoolDbiHost CONFIG_SET HOSTNAME |
Default: | localhost |
Context: | server config |
This is the hostname of the database host for this configuration. Specify a hostname or an IP address. Again, this string is just passed to libdbi.
PoolDbiPassword
Description: | The password for the database connection |
---|---|
Syntax: | PoolDbiPassword CONFIG_SET PASSWORD |
Default: | "" |
Context: | server config |
The password that is used when logging in to the database.
PoolDbiUsername
Description: | The username for the database connection |
---|---|
Syntax: | PoolDbiUsername CONFIG_SET USERNAME |
Default: | root |
Context: | server config |
The username that is used when logging-in to the database.