Databases and MySQL

Besides the global and local instances, there are also three other directories in SFX:

  • App – contains all supporting software required to run SFX (MySQL, Perl programming environment, Java, and an Apache Web server)
  • Data – contains MySQL databases
  • Proxy – contains reverse proxy apache files

The following figure illustrates the SFX directory structure:

directory_structure.gif

SFX Directory Structure

The files in the local and test instance use UNIX symbolic links to connect them to files in the global instance. When Ex Libris updates the files on the sfxglb41 instance, the updates are immediately transferred to the sfxlcl41 and sfxtst41 instances.

The following tables describes the subdirectories of the application directory:

Application Directory
Directory Description
/exlibris/sfx_ver/sfx4_x/app/apache Contains all software required to run and administer an Apache HTTP daemon
/exlibris/sfx_ver/sfx4_x/app/mysql Contains all software required to run and administer a MySQL database
/exlibris/sfx_ver/sfx4_x/app/openssl Contains software for HTTPs
/exlibris/sfx_ver/sfx4_x/app/oracle Contains Oracle table client used for Verde - SFX synchronization
/exlibris/sfx_ver/sfx4_x/app/perl Contains all Perl software and modules required for SFX
/exlibris/sfx_ver/sfx4_x/app/python Contains Python, programming language used by Sphinx
/exlibris/sfx_ver/sfx4_x/app/sphinx Contains Sphinx, an SQL full-text search engine used for Author searching
/exlibris/sfx_ver/sfx4_x/app/utils Contains utilities like UNZIP
/exlibris/sfx_ver/sfx4_x/app/yaz Contains YAZ z39.50 client

The following table describes the structure of an SFX instance:

SFX Structure
Directory Description
/exlibris/sfx_ver/sfx4_x/<instance> /admin Contains command line tools
/exlibris/sfx_ver/sfx4_x/<instance> /archive Contains statistics archive files
/exlibris/sfx_ver/sfx4_x/<instance> /cgi/core Contains SFX core CGI programs (encrypted), such as sfxmenu.cgi, sfxresolver.cgi, and sfxctrl.cgi
/exlibris/sfx_ver/sfx4_x/<instance> /cgi/public Contains CGI programs required for certain targets (not encrypted - intended to be editable)
/exlibris/sfx_ver/sfx4_x/<instance> /config Contains all configuration files
/exlibris/sfx_ver/sfx4_x/<instance> /dbs Contains SQL table definitions and the scratch directory
/exlibris/sfx_ver/sfx4_x/<instance> /export Contains export files from KBTools
/exlibris/sfx_ver/sfx4_x/<instance> /home Home directory of the instance
/exlibris/sfx_ver/sfx4_x/<instance> /lib Contains perl modules, target parsers, source parsers and target displayer programs
/exlibris/sfx_ver/sfx4_x/<instance> /logs Contains SFX requests logs when redirection is used
/exlibris/sfx_ver/sfx4_x/<instance> /sfxadmin Contains programs for the SFXAdmin Center
/exlibris/sfx_ver/sfx4_x/<instance> /templates Contains HTML pages for the SFX menu screen, the HTM Update reports, the HTML electronic journal lists, and SFXAdmin

The databases of an SFX installation are placed in the /exlibris/sfx_ver/sfx4_1/data directory. The names of the databases are the same as the name of the SFX instance. For example, the sfxlcl41 instance uses the sfxlcl41 database.

All MySQL processes are owned by the sfxglb41 user.

The MySQL configuration is located in the my.cnf file at: /exlibris/sfx_ver/sfx4_1/data

This configuration file contains, for example, the MySQL port. It is recommended to check this configuration file to make sure that the Performance Settings section as shown below is configured optimally according to the number of concurrent users of your installation.

#

# Performance Settings

#

# Definition of Customer size by number of concurrent users

# Small - 100 (max_connections)

# Medium - 150 "

# Large - 200 "

#

# Recommendations for 32bit (2G process limitation)

# Small key_buffer_size=512M read_buffer_size=8M sort_buffer_size=8M

# Medium key_buffer_size=1G read_buffer_size=4M sort_buffer_size=4M

# Large key_buffer_size=1G read_buffer_size=2M sort_buffer_size=2M

#

# Recommendations for 64bit

# Small key_buffer_size=2G read_buffer_size=8M sort_buffer_size=8M

# Medium key_buffer_size=2G read_buffer_size=6M sort_buffer_size=6M

# Large key_buffer_size=2G read_buffer_size=4M sort_buffer_size=4M

#

key_buffer_size=1G

sort_buffer_size=8M

read_buffer_size=4M

max_connections=150