Operating System - HP-UX
1832979 Members
3591 Online
110048 Solutions
New Discussion

Re: HP-UX Kernel Performance Tuning For Informix

 
Amit Dixit_2
Regular Advisor

HP-UX Kernel Performance Tuning For Informix

HI,
Want to configure HP-UX 11.23 kernel
running on IA-64, for Informix IDS 9.40

System Config is as follows
HP rx1600 series server with 2 processor's
CPU Clock Speed 1 GHz
Memory : 2 GB RAM.
Tell me with refrence to informix what could
be the best possible settings for

nfiles, shmmax etc etc.

Gone through with the Refrence manual of
Informix need some consultation for master's.

Thanks
Amit




12 REPLIES 12
Steven E. Protter
Exalted Contributor

Re: HP-UX Kernel Performance Tuning For Informix

Pete Randall
Outstanding Contributor

Re: HP-UX Kernel Performance Tuning For Informix

Informix is quite specific about kernel parameters. Check under /opt/informix/release for a document probably called IDS_9.4. For my 7.31 version of Informix, the document is /opt/informix/release/en_us/0333/IDS_7.3. This document will outline Informix's requirements.


Pete

Pete
Rainer von Bongartz
Honored Contributor

Re: HP-UX Kernel Performance Tuning For Informix

from the machine notes:

1. Kernel Parameters

The values of the kernel parameters that were used for testing this
product are given below. These values might need to be tuned depending
on the application and availability of system resources. On HP-UX,
these entries are in /stand/system.

nfile: 5000
semmni: 3000
semmns: 3000
semmnu: 1400
shmmax: 4294967296
shmmni: 500
shmseg: 500

- The value of the kernel parameter "semmnu" should be set to at least
the maximum number of open ipcshm connections, plus the number of
semaphore undo structures required by other processes in the system.
The recommended value of "semmnu" is between 2K and 4K for larger
systems. See the section on "Configuring Semaphore Parameters" in the
IBM Informix Dynamic Server Migration Guide for details.

- The value of the kernel parameter "shmmax" should be set to 4GB or the
maximum allowable on the system. Setting "shmmax" to a high value
will prevent the OS from creating multiple shared memory segments
which can degrade performance.

- This server release is built to take advantage of the Large File
Descriptor support provided by HP-UX, which increases the number of
simultaneous user connections per server instance from 2000 to 60000.

To take advantage of this feature, the following kernel parameters
might need to be increased depending on the application.

maxfiles_lim - Maximum number of files that can be opened by a process
simultaneously.
nfile - Maximum number of files that can be opened system-wide.

Regards
Rainer
He's a real UNIX Man, sitting in his UNIX LAN making all his UNIX plans for nobody ...
Amit Dixit_2
Regular Advisor

Re: HP-UX Kernel Performance Tuning For Informix

HI,
Just want to know if I enable asynchronous
I/O parameter and what could be the best
value for max_async_ports and fs_sync.

we are also using raw filesystem greater than
2 GB so how to check whether large
filesystem is is supported or not (fsadm ??).

I have 2 GB of RAM what should be the value
I set for shmmax, Informix recommends 4 GB
does this parameter depends upon installed
pysicall memory.

Thank,
Amit


A. Clay Stephenson
Acclaimed Contributor

Re: HP-UX Kernel Performance Tuning For Informix

You either use raw/io or you use filesystems so the concept of raw filesystems > 2GB has no meaning. You are writing to the LVOL or disk itself so the filesystem is non-existent.

You can set shmmax well beyond the total physical memory (or even the total virtual memory). Shmmax only defines the limits; the application determines how much shared memory is actually allocated. The key is to not set the Informix tunables so large that the box starts paging out. The performance hit caused by swapping is so big that it will completely wipe out (by a factor of ~100) any gains you get from caching.

You are going to find that tuning the kernel (after minimum shared memory, sema4, and memory size limits have been reached) makes very little performance difference. The performance tuning should really be directed at the SQL itself.






If it ain't broke, I can fix that.
Amit Dixit_2
Regular Advisor

Re: HP-UX Kernel Performance Tuning For Informix

Hi Stephen,
Did'nt understood your reply about
large filesystem
Do you mean to say i do not need to
enable large filesystem on that cooked
filesystem using fstab.

Also,presently my kernel parameter for
shmmax is set to 1 GB and present system
usage is 18.6 % of this value do you
suggest to increase this value.

I have SS7 Installed on my system when
I start SS7 it eats up 800 MB is there
any way to limit that.

Thanks,
Amit.
Steve Lewis
Honored Contributor

Re: HP-UX Kernel Performance Tuning For Informix

In addition to the parameters posted above, tuning semume up slightly may help a little bit. It isn't mentioned in the informix tuning notes but the o/s uses it to manage semephores more efficiently. In the past I have increased it up to 128.
Bw warned though - it is multiplied by other parameters and eats up your memory. You may end up with a kernel too large to boot if you are not careful.
Most other kernel parameters are more to do with resource allocation, not performance of the database.
If you use cooked files the vxfs read ahead parameter may also be tuned to be >= the informix onconfig parameter RA_PAGES.
Dont use fs_async=1 unless you have very reliable power and are using cooked files with o/s buffering turned on.
What I will say in addition to this, is to tune your informix onconfig as well the o/s. It has more of an effect.






Amit Dixit_2
Regular Advisor

Re: HP-UX Kernel Performance Tuning For Informix

Hi Lewis,
Can you help me more on this, what are the
best way through which I can fine tune
onconfig and O.S.

The Informix document says location of
shared memory under onconfig file should
be
SHMBASE 0x0L
what does this value means ??

Thank,
Amit.
A. Clay Stephenson
Acclaimed Contributor

Re: HP-UX Kernel Performance Tuning For Informix

I'll try again. When you say "we are also using raw filesystem"; you really are not. You are either using filesystems for i/o OR you are using raw i/o. In raw i/o there is no filesystem; there is no entry in /etc/fstab (again, because there is no filesystem). Raw/io simply treats the disk or logical volume as a chunk of disk blocks. When you create a filesystem, raw/io is used to actually write all the filesystem data structures to the disk so that later, after mounting, the "cooked" (filesystem) i/o can be done. Informix Online can use raw i/o and it doesn't use the filesystem at all; in fact, if you did use raw/io on a disk or LVOL that houses a filesystem, Informix would write all over the filesystem metadata itself.

If you are using cooked i/o, you can use the fsadm command. fsadm -F vxfs /myfilesystem will display "largefiles" if largefiles are enabled. You can also use mkfs -F vxfs -m option to display the commands used to create a filesystem.

mkfs -F vxfs -m /dev/vg02/lvol7

This will NOT create a filesystem but make sure that you use -m.

Man newfs, fsadm for details.

If you have OnlineJFS, there is a 3rd alternative. Mount the filesystem (this time you would need to assert largefiles) using the additional -o options mincache=direct,convosync=direct. In this mode, the UNIX buffer cache is bypassed and the i/o goes directly to/from disk. You get essentially all the performance of real raw i/o but not all the traditional backup and file handling (cp, mv, ... ) can be used as well.
If it ain't broke, I can fix that.
Amit Dixit_2
Regular Advisor

Re: HP-UX Kernel Performance Tuning For Informix

Hi Stephen,
Probably I might go for another questions

I created RAW filesystem(no entry in fstab)
I do have OnlineJFS installed on my system
now tell me how can I optimize r/w on the
disk.

So as to have better disk performance from
Informix.

Thanks
Amit.
Sridhar Bhaskarla
Honored Contributor

Re: HP-UX Kernel Performance Tuning For Informix

Hi Amit,

There is no such thing called 'raw filesystem'. It is either 'raw device' or 'filesystem'. For ex., under LVM when you do

lvcreate -n lvol1 -L 2048 vg01

and use /dev/vg01/rlvol1 with informix, then you are using raw device.

But if you continue to further and do

newfs -F vxfs /dev/vg01/rlvol1
mount /dev/vg01/lvol1 /somefs

and use the directory /somefs, then you are using a filesystem.

OnlineJFS works only with filesystems. It can't help raw devices.

You will have to consider striping, faster HBAs, better storage systems etc., to improve performance of the raw devices. You don't have much choice to manage data on raw devices. It is to be managed by the software and in your case it's informix.

-Sri
You may be disappointed if you fail, but you are doomed if you don't try
Bill Hassell
Honored Contributor

Re: HP-UX Kernel Performance Tuning For Informix

When you configure Informix, you specify raw disk volumes, or filesystems. A raw disk volume would look like this:

/dev/vg01/rlvol7

or whatever lvol's you are allocating to Informix. The majority of Informix installations use raw volumes, not filesystems. NOTE: you will degrade performance if you specify /dev/vg01/lvol7 (note the missing "r") for Informix. Raw I/O means that Informix handles all the disk activities. Parameters like fs_sync are meaningless because have no database files, just raw lvols. The only improvement for disk I/O is to use a (pricey) disk array with fibre connections and massive (gigabyes) of cache RAM in the array.

Now using raw I/O requires careful design on a backup method. There are no files, just volumes with long streams of random bits. One way (if you have extra disk space) is to export the database and then use conventional backup tools like fbackup on the exported data files. Another is to use dd but this is very risky as there is no way to identify what is on the tape or how to put it back without very careful record keeping. Commercial backup tools like HP's OmniBack (ie, Data Protector) has provisions to backup raw volumes.


Bill Hassell, sysadmin