[EMAIL PROTECTED] wrote on 06/12/2006 10:24:51 AM:
> Does anyone have any tech tips on how to select parameters when
> resizing dynamic files ?
The following is from a published tech tip. It provides guidelines, but
of course the nature of MV files makes it difficult to predict optimal
sizing. To get the appropriate input data, run guide with the -r option
to send the output to a hashed file. Point the dictionary of that file as
directed, and you'll have what you need. It's important to note that this
only applies to KEYONLY files.
=======================================================================
Formula for determining base modulo, block size, SPLIT_LOAD,
and MERGE_LOAD for UniData KEYONLY Dynamic Files
Note that the variables used are the same as the DICT items in
$UDTHOME/sys/D_UDT_GUIDE.
Considerations:
a) The following does not take into account the Unix disk
record (frame) size so it is best to select a block
size based on the number of items you?d like in a group.
b) No one method will provide absolute results but these
calculations will minimize level one overflow caused
by a high SPLIT_LOAD value.
c) Type 0 works best for most Dynamic Files but it is best
to check a small sample via the GROUP.STAT command.
Step 1: Determine the blocksize. (Use 4096 unless the Items
per group is larger then 35 or less then 2)
A) If the MAXSIZ < 1K ITEMSIZE = 10 * MAXSIZ
B) If 1 K < MAXSIZ < 3 K ITEMSIZE = 5 * MAXSIZ
C) If MAXSIZ > 3 K ITEMSIZE = 5 * (AVGSIZ + DEVSIZ)
Once you determine the item size, use it to determine the NEWBLOCKSIZE.
A) ITEMSIZE < 1024; NEWBLOCKSIZE = 1024
B) 1024 > ITEMSIZE < 2048; NEWBLOCKSIZE = 2048
C) 2048 > ITEMSIZE < 4096; NEWBLOCKSIZE = 4096
D) 4096 > ITEMSIZE < 8192; NEWBLOCKSIZE = 8192
E) 8192 > ITEMSIZE < 16384; NEWBLOCKSIZE = 16384
Step 2: Determine the actual number of items per group.
ITEMS_PER_GROUP = NEWBLOCKSIZE-32 / AVGSIZ
Step 3: Determine the base modulo
BASEMODULO = COUNT / ITEMS_PER_GROUP
Step 4: Determine SPLIT_LOAD
SPLIT_LOAD=INT((((AVGKEY + 9)*ITEMS_PER_GROUP)/NEW_BLOCKSIZE)*100)+1
If the SPLIT_LOAD is less then ten then: SPLIT_LOAD = 10
Step 5: Determine MERGE_LOAD
MERGE_LOAD = SPLIT_LOAD / 2 (Rounded up)
Tim Snyder
Consulting I/T Specialist , U2 Professional Services
North American Lab Services
DB2 Information Management, IBM Software Group
717-545-6403
[EMAIL PROTECTED]
-------
u2-users mailing list
[email protected]
To unsubscribe please visit http://listserver.u2ug.org/