Joinutility seperatorLogin utility separator Infobright.com

Navigation

 ·   Wiki Home
 ·   Wiki Help
 ·   Categories
 ·   Title List
 ·   Uncategorized Pages
 ·   Random Page
 ·   File Upload
 ·   Uploaded Files
 ·   Recent Changes
 ·   RSS
 ·   Atom
 ·   What Links Here

Active Members:

 ·  annalee562
 ·  Stuart Herd

Search:

 

Create or Find Page:

 

View Linux Tuning

Basic system settings (for RHEL or CentOS)

Disable SElinux

SElinux is intended to protect Linux servers on the public internet such as Web Servers. It provides an extra layer of security that isn’t really required for a back-end database server. In /etc/sysconfig/selinux put:

SELINUX=disabled

Swappiness

Set low swappiness to avoid unnecessary paging. This only helps for machines with low levels of memory (say 4GB with 3GB allocated for Brighthouse). In /etc/rc.local put:

echo "7" > /proc/sys/vm/swappiness

File System

CacheFolder

Ensure that the CacheFolder is on a fast local disk.

Larger readahead

In /etc/rc.local put:

blockdev --setra 2048 /dev/sd <x>

Replace sd<x> with a proper device symbol, e.g. sdc, it should be the drive(s) on which datadir and/or CacheFolder resides.

Use XFS FileSystem for Data Directories

For XFS (may need to install kmod-xfs and xfsprogs):

mkfs.xfs -b size=4096 /dev/sdc1

In /etc/fstab put:

/dev/sdc1 /bha xfs noatime,nodiratime 1 2

NOTE: This is for data folders only. Linux boot partition can be ext3.

noatime, noadirtime

Use noatime, noadirtime options for mounting database and cache volumes (see below for details). Otherwise the system will update the access time for files and directories (which degrades performance).

deadline elevator

The default scheduler – CFQ – is 1% faster than elevator for a single user. However, in multi-user test with 4 users, elevator had 20% better performance.

In /etc/rc.local put:

echo "deadline" > /sys/block/sd<x>/queue/scheduler

Replace sd<x> with a proper device symbol, e.g. sdc, it should be the drive(s) on which datadir and/or CacheFolder resides

Increase ulimit to support large data volume or users

Ulimit determines the maximum number of files a user can have open. This will not change performance, but may avoid errors. Increase ulimit to unlimited or 32,768 since the default file limit is 1024. This is insufficient for large databases (lot’s of columns) or servers with multiple Infobright databases.

To view current settings, run command:

# ulimit -a

To set it to a new value for this running session, which takes effect immediately, run command:

# ulimit -n 8800
# ulimit -n -1 // for unlimited; recommended if server isn’t shared

Alternatively, if you want the changes to survive reboot, do the following:

  • Exit all shell sessions for the user you want to change limits on.
  • As root, edit the file /etc/security/limits.conf and add these two lines toward the end:

user1 soft nofile 16000
user1 hard nofile 20000

The two lines above changes the max number of file handles – nofile – to new settings.

  • Save the file.
  • Login as the user1 again. The new changes will be in effect.

Note on how to detect ulimit problem

If you are noticing crashes during multi-user use cases, please check the console log for the following error:

what(): FileSystem Error : Bad file descriptor
mysqld got signal 6;

To fix this error, increase ulimit (see above).