[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/

Reply via email to