optimizing informix IDS at a raw device level
Posted in 2000
Topics: Platform-Specific Issues
Hi,
I'm about to migrate an informix database from a server to another
SUN Spark E4500 Solaris server.
The new server will take place on a 2Tb SCSI array. I want to make a big
stripe between some disks.
Then, final raw devices will be created with vxva.
While building my stripe, I would like to know what is the average write
size of informix to be able to optimize stripe block size the best I
can.
Informix Support said : 2K (size of a page).
Question :
-Is this right ?
-Why do I see something else when I truss some "oninit" process :
truss -t read,write,lseek -p 422
write(61, "\\00F\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0".., 30) = 30
write(61, "\\00F\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0".., 30) = 30
write(61, "\\00E\\0\\0041B 0 3 0 0 2 7".., 1088) = 1088
write(61, "\\00E\\0\\0\\0D2 0 3 0 0 2 0".., 246) = 246
write(61, "\\00E\\0\\00504 0 3 0 0 2 0".., 1320) = 1320
write(61, "\\00E\\0\\0029C 0 3 0 0 2 0".., 702) = 702
write(61, "\\00E\\0\\002 7 0 3 0 0 0 9".., 602) = 602
write(61, "\\00F\\0\\0\\0\\0\\0\\005 jB103".., 30) = 30
write(59, "\\00E\\0\\0\\0 V 0 3 0 R V _".., 94) = 94
write(58, "\\00E\\0\\00504 0 3 0 0 2 0".., 4096) = 4096
write(58, " 0 0 0 0 080\\0\\0\\0\\0\\0\\0".., 4096) = 4096
write(58, " 0 0 0 0 0 0 0 0 ".., 4096) = 4096
write(58, " H P".., 4096) = 4096
write(58, " 0 0 0 ".., 2968) = 2968
write(61, "\\00E\\0\\0\\0 Y 0 3 0 0 2 0".., 126) = 126
write(61, "\\00F\\0\\0\\0\\0\\0\\011 aEB1D".., 30) = 30
write(61, "\\00F\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0".., 30) = 30
write(61, "\\00F\\0\\0\\0\\0\\0\\0 a 3D904".., 30) = 30
write(58, "\\00E\\0\\00504 0 3 0 0 2 0".., 4096) = 4096
write(58, " 0 0 0 0 080\\0\\0\\0\\0\\0\\0".., 4096) = 4096
write(58, " 0 0 0 0 0 0 0 0 ".., 4096) = 4096
write(58, " H P".., 4096) = 4096
write(58, " 0 0 0 ".., 2968) = 2968
write(61, "\\00F\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0".., 30) = 30
file descriptors 58-61 refers to raw devices, as seen in lsof output...
--
_______________________________________________
Sebastien THOMAS none networks
System Engineer freesbee
geo:153, rue Saint-Denis, 75002 Paris, France
vox:+33 1 45 08 23 10 - fax:+33 1 45 08 25 29
mailto:sebastien.thomas@none.net
The best stripe blobk size for Informix is between 8 and 16K. I will
STRONGLY recommend that you configure for RAID10 for maximum performance
and safety.
Art S. Kagel
Sebastien THOMAS wrote:
>
> Hi,
>
> I'm about to migrate an informix database from a server to another
> SUN Spark E4500 Solaris server.
> The new server will take place on a 2Tb SCSI array. I want to make a big
> stripe between some disks.
> Then, final raw devices will be created with vxva.
> While building my stripe, I would like to know what is the average write
> size of informix to be able to optimize stripe block size the best I
> can.
> Informix Support said : 2K (size of a page).
>
> Question :
> -Is this right ?
> -Why do I see something else when I truss some "oninit" process :
>
> truss -t read,write,lseek -p 422
>
> write(61, "\\00F\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0".., 30) = 30
> write(61, "\\00F\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0".., 30) = 30
> write(61, "\\00E\\0\\0041B 0 3 0 0 2 7".., 1088) = 1088
> write(61, "\\00E\\0\\0\\0D2 0 3 0 0 2 0".., 246) = 246
> write(61, "\\00E\\0\\00504 0 3 0 0 2 0".., 1320) = 1320
> write(61, "\\00E\\0\\0029C 0 3 0 0 2 0".., 702) = 702
> write(61, "\\00E\\0\\002 7 0 3 0 0 0 9".., 602) = 602
> write(61, "\\00F\\0\\0\\0\\0\\0\\005 jB103".., 30) = 30
> write(59, "\\00E\\0\\0\\0 V 0 3 0 R V _".., 94) = 94
> write(58, "\\00E\\0\\00504 0 3 0 0 2 0".., 4096) = 4096
> write(58, " 0 0 0 0 080\\0\\0\\0\\0\\0\\0".., 4096) = 4096
> write(58, " 0 0 0 0 0 0 0 0 ".., 4096) = 4096
> write(58, " H P".., 4096) = 4096
> write(58, " 0 0 0 ".., 2968) = 2968
> write(61, "\\00E\\0\\0\\0 Y 0 3 0 0 2 0".., 126) = 126
> write(61, "\\00F\\0\\0\\0\\0\\0\\011 aEB1D".., 30) = 30
> write(61, "\\00F\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0".., 30) = 30
> write(61, "\\00F\\0\\0\\0\\0\\0\\0 a 3D904".., 30) = 30
> write(58, "\\00E\\0\\00504 0 3 0 0 2 0".., 4096) = 4096
> write(58, " 0 0 0 0 080\\0\\0\\0\\0\\0\\0".., 4096) = 4096
> write(58, " 0 0 0 0 0 0 0 0 ".., 4096) = 4096
> write(58, " H P".., 4096) = 4096
> write(58, " 0 0 0 ".., 2968) = 2968
> write(61, "\\00F\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0".., 30) = 30
>
> file descriptors 58-61 refers to raw devices, as seen in lsof output...
>
> --
> _______________________________________________
> Sebastien THOMAS none networks
> System Engineer freesbee
>
> geo:153, rue Saint-Denis, 75002 Paris, France
> vox:+33 1 45 08 23 10 - fax:+33 1 45 08 25 29
> mailto:sebastien.thomas@none.net