<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Improving performance on indexed file. in Operating System - OpenVMS</title>
    <link>https://community.hpe.com/t5/operating-system-openvms/improving-performance-on-indexed-file/m-p/4001319#M12305</link>
    <description>Yaron,&lt;BR /&gt;&lt;BR /&gt;I agree with both Hein and Hoff.&lt;BR /&gt;&lt;BR /&gt;While the FDL is helpful, what is truly needed are statistics that show where the actual performance is a problem. &lt;BR /&gt;&lt;BR /&gt;ANALYZE/RMS is a good start, multiple ANALYZE/RMS operations separated by regular intervals so that some trend analysis can be done is even better.&lt;BR /&gt;&lt;BR /&gt;It would also be a good idea to do a series of MONITOR runs during peak load with the results  going to a file for later processing using the T4 suite.&lt;BR /&gt;&lt;BR /&gt;I always recommend that clients "do science" rather than presume the nature of the problem. Sometimes the results can be surprising. If not surprising, at least the science allows the rationale for changes to be on a solid footing.&lt;BR /&gt;&lt;BR /&gt;- Bob Gezelter, &lt;A href="http://www.rlgsc.com" target="_blank"&gt;http://www.rlgsc.com&lt;/A&gt;</description>
    <pubDate>Wed, 16 May 2007 13:03:50 GMT</pubDate>
    <dc:creator>Robert Gezelter</dc:creator>
    <dc:date>2007-05-16T13:03:50Z</dc:date>
    <item>
      <title>Improving performance on indexed file.</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/improving-performance-on-indexed-file/m-p/4001316#M12302</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;I need to improve the performance (time) of operations done on an indexed file. I’m going to paste the FDL and the SHOW RMS_DEFAULT command at the end of my problem description. The operations are put, update and read, mainly random. This file is created empty once a year with initial allocation that is sufficient for the whole year, in other words no extends seems to happen later as records are added. At the beginning of this year an additional new (alternate) key was added, that makes it 4 keys including the primary key. Many records in the forth, new, key have space (bad, it makes them duplicate). Once a week there is a long job that adds and updates records in that file. Recently, every week the job takes longer and longer to complete. Records are never deleted from this file (once a year the file is replaced). The machine is Vax 4500A. I think of doing this, but this might be wrong or not enough:&lt;BR /&gt;1) Bucket fills and splits.  If the problem might be related to many bucket splits that now occur so converting the file even with same FDL will probably give immediate (temporary) improvement, because buckets will again be partially free. Should I consider also decreasing the DATA_FILL and the INDEX_FILL in the FDL?&lt;BR /&gt;2) Should I consider adding the CONNECT attribute MULTIBUFFER_COUNT to the FDL? This might speed up the operations. If yes waht values?&lt;BR /&gt;&lt;BR /&gt;Thanks for the answers. Here is the FDL and the SHOW RMS_DEFAULT command output:&lt;BR /&gt;IDENT   "20-OCT-2000 13:04:49   VAX-11 FDL Editor"&lt;BR /&gt;&lt;BR /&gt;SYSTEM&lt;BR /&gt;        SOURCE                  "VAX/VMS"&lt;BR /&gt;&lt;BR /&gt;FILE&lt;BR /&gt;        ORGANIZATION            indexed&lt;BR /&gt;&lt;BR /&gt;RECORD&lt;BR /&gt;        CARRIAGE_CONTROL        carriage_return&lt;BR /&gt;        FORMAT                  fixed&lt;BR /&gt;        SIZE                    281&lt;BR /&gt;&lt;BR /&gt;AREA 0&lt;BR /&gt;        ALLOCATION              1500003&lt;BR /&gt;        BEST_TRY_CONTIGUOUS     yes&lt;BR /&gt;        BUCKET_SIZE             9&lt;BR /&gt;        EXTENSION               65535&lt;BR /&gt;&lt;BR /&gt;AREA 1&lt;BR /&gt;        ALLOCATION              31041&lt;BR /&gt;        BEST_TRY_CONTIGUOUS     yes   &lt;BR /&gt;        BUCKET_SIZE             9     &lt;BR /&gt;        EXTENSION               7767  &lt;BR /&gt;                                      &lt;BR /&gt;AREA 2                                &lt;BR /&gt;        ALLOCATION              243504&lt;BR /&gt;        BEST_TRY_CONTIGUOUS     yes   &lt;BR /&gt;        BUCKET_SIZE             6     &lt;BR /&gt;        EXTENSION               60876 &lt;BR /&gt;                                      &lt;BR /&gt;KEY 0                                 &lt;BR /&gt;        CHANGES                 no    &lt;BR /&gt;        DATA_AREA               0     &lt;BR /&gt;        DATA_FILL               75    &lt;BR /&gt;        DATA_KEY_COMPRESSION    yes   &lt;BR /&gt;        DATA_RECORD_COMPRESSION yes   &lt;BR /&gt;        DUPLICATES              no    &lt;BR /&gt;        INDEX_AREA              1     &lt;BR /&gt;        INDEX_COMPRESSION       no    &lt;BR /&gt;        INDEX_FILL              75             &lt;BR /&gt;        LEVEL1_INDEX_AREA       1              &lt;BR /&gt;        NAME                    "PRIME_KEY"    &lt;BR /&gt;        PROLOG                  3              &lt;BR /&gt;        SEG0_LENGTH             54             &lt;BR /&gt;        SEG0_POSITION           0              &lt;BR /&gt;        TYPE                    string         &lt;BR /&gt;                                               &lt;BR /&gt;KEY 1                                          &lt;BR /&gt;        CHANGES                 no             &lt;BR /&gt;        DATA_AREA               2              &lt;BR /&gt;        DATA_FILL               75             &lt;BR /&gt;        DATA_KEY_COMPRESSION    yes            &lt;BR /&gt;        DUPLICATES              yes            &lt;BR /&gt;        INDEX_AREA              2              &lt;BR /&gt;        INDEX_COMPRESSION       no             &lt;BR /&gt;        INDEX_FILL              75             &lt;BR /&gt;        LEVEL1_INDEX_AREA       2              &lt;BR /&gt;        NAME                    "key2"&lt;BR /&gt;        SEG0_LENGTH             8              &lt;BR /&gt;        SEG0_POSITION           54        &lt;BR /&gt;        TYPE                    string    &lt;BR /&gt;                                          &lt;BR /&gt;KEY 2                                     &lt;BR /&gt;        CHANGES                 no        &lt;BR /&gt;        DATA_AREA               2         &lt;BR /&gt;        DATA_FILL               75        &lt;BR /&gt;        DATA_KEY_COMPRESSION    yes       &lt;BR /&gt;        DUPLICATES              yes       &lt;BR /&gt;        INDEX_AREA              2         &lt;BR /&gt;        INDEX_COMPRESSION       no        &lt;BR /&gt;        INDEX_FILL              75        &lt;BR /&gt;        LEVEL1_INDEX_AREA       2         &lt;BR /&gt;        NAME                    "key3"&lt;BR /&gt;        SEG0_LENGTH             8         &lt;BR /&gt;        SEG0_POSITION           62        &lt;BR /&gt;        TYPE                    string    &lt;BR /&gt;                                          &lt;BR /&gt;KEY 3                                     &lt;BR /&gt;        CHANGES                 yes       &lt;BR /&gt;        DATA_AREA               2         &lt;BR /&gt;        DATA_FILL               75        &lt;BR /&gt;        DATA_KEY_COMPRESSION    yes       &lt;BR /&gt;        DUPLICATES              yes       &lt;BR /&gt;        INDEX_AREA              2         &lt;BR /&gt;        INDEX_COMPRESSION       no        &lt;BR /&gt;        INDEX_FILL              75        &lt;BR /&gt;        LEVEL1_INDEX_AREA       2         &lt;BR /&gt;        NAME                    "key4"&lt;BR /&gt;        SEG0_LENGTH             3         &lt;BR /&gt;        SEG0_POSITION           70        &lt;BR /&gt;        TYPE                    string    &lt;BR /&gt;&lt;BR /&gt;SHOW RMS&lt;BR /&gt;          MULTI-  |                MULTIBUFFER COUNTS              &lt;BR /&gt;          BLOCK   | Indexed  Relative            Sequential        &lt;BR /&gt;          COUNT   |                     Disk   Magtape  Unit Record&lt;BR /&gt;Process     0     |    0         0        0       0         0      &lt;BR /&gt;System     16     |    0         0        0       0         0      &lt;BR /&gt;&lt;BR /&gt;          Prolog    Extend Quantity&lt;BR /&gt;Process     0              0&lt;BR /&gt;System      0             80&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 16 May 2007 11:59:00 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/improving-performance-on-indexed-file/m-p/4001316#M12302</guid>
      <dc:creator>yaron1</dc:creator>
      <dc:date>2007-05-16T11:59:00Z</dc:date>
    </item>
    <item>
      <title>Re: Improving performance on indexed file.</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/improving-performance-on-indexed-file/m-p/4001317#M12303</link>
      <description>&amp;gt;&amp;gt; I'm going to paste the FDL&lt;BR /&gt;&lt;BR /&gt;Good, but not good enough... &lt;BR /&gt;&lt;BR /&gt;We need ANAL/RMS/FDL output, for the file after a year, or at least after a few months.&lt;BR /&gt;&lt;BR /&gt;You may also want to try my 'tune_check' on the live file.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt; and the SHOW RMS_DEFAULT command &lt;BR /&gt;&lt;BR /&gt;Good, but bad data.&lt;BR /&gt;&lt;BR /&gt;I hope to program which adds record to this file will set a fgood few (20+) local buffers. Or uses SET RMS/PROC/IND/BUF=20&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt; in other words no extends seems to happen &lt;BR /&gt;&lt;BR /&gt;On the outside it may look clean. On the inside it might be a mess. Are teh records mainly added in ever ascending primary key order or not? You may need a monthly convert to keep it humming.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt; Many records in the forth, new, key have space (bad, it makes them duplicate). &lt;BR /&gt;&lt;BR /&gt;So create a NULL_KEY attribute = YES and NULL_VALUE = ' '&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt; Should I consider also decreasing the DATA_FILL and the INDEX_FILL in the FDL?&lt;BR /&gt;&lt;BR /&gt;Possibly. Depends on the load pattern.&lt;BR /&gt;DATA_FILL only helps if the load is pretty much random. For localized inserts (for a warehouse, for a city, for a ..) then you might just as well pack them up.&lt;BR /&gt;Index_fill of 80 or 90 is probably usefull.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt; 2) Should I consider adding the CONNECT attribute MULTIBUFFER_COUNT to &lt;BR /&gt;&lt;BR /&gt;NO. That is NOT stored in the file.&lt;BR /&gt;Is it only valid for the process parsing the FDL (convert!?).&lt;BR /&gt;You need the SET RMS/BUF=nn as mentioned earlier.&lt;BR /&gt;&lt;BR /&gt;What programming language?&lt;BR /&gt;In COBOL you can use APPLY nn AREAS&lt;BR /&gt;IN Macro or C use RAB$B_MBF = nn&lt;BR /&gt;If you had nothing, then try 20 or 30&lt;BR /&gt;&lt;BR /&gt;I'll gladly do some consulting to figure out the truly optimal value for you!&lt;BR /&gt;&lt;BR /&gt;The above is all I can offer for free.&lt;BR /&gt;Please feel free contact me if further professional help is needed.&lt;BR /&gt;&lt;BR /&gt;Hope this helps some,&lt;BR /&gt;Hein van den Heuvel (at gmail dot com)&lt;BR /&gt;HvdH Performance Consulting&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 16 May 2007 12:18:02 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/improving-performance-on-indexed-file/m-p/4001317#M12303</guid>
      <dc:creator>Hein van den Heuvel</dc:creator>
      <dc:date>2007-05-16T12:18:02Z</dc:date>
    </item>
    <item>
      <title>Re: Improving performance on indexed file.</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/improving-performance-on-indexed-file/m-p/4001318#M12304</link>
      <description>I expect you're building up deleted records in the file, and some cases of duplicate keys can certainly lead to massive I/O increases.  Try a CONVERT/RECLAIM off to the side, and run some tests to see if this picks up performance.  (This assumes no RFA access.)&lt;BR /&gt;&lt;BR /&gt;Here are the generic steps:&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://h71000.www7.hp.com/DOC/731FINAL/4506/4506pro_030.html" target="_blank"&gt;http://h71000.www7.hp.com/DOC/731FINAL/4506/4506pro_030.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;As for the hardware, what disk(s)?  What is the I/O bandwidth?  &lt;BR /&gt;&lt;BR /&gt;What queue depth on the disk(s)?&lt;BR /&gt;&lt;BR /&gt;Stuff of this vintage tended to be DSSI, and that's about the speed of SCSI-1.  Real Slow.&lt;BR /&gt;&lt;BR /&gt;What are the chances of replacing the VAX 4000 model 500 with something faster?  The VAX 4000 Model 505A and up, VAXstation 4000 model 90 and up, MicroVAX 3100 model 95 and up, or otherwise.  &lt;BR /&gt;&lt;BR /&gt;And most any Alpha or Integrity would massively exceed the speed of this box.  If you have the code, you may get a better and bigger payoff by porting forward.&lt;BR /&gt;&lt;BR /&gt;Throwing hardware at the problem -- disk or new box -- is often the most expeditious, assuming it's not something like duplicate keys that is slamming performance.&lt;BR /&gt;&lt;BR /&gt;Hein (who will likely comment here Real Soon Now) has various presentations on the topic of tuning RMS indexed file access, as well.  And as Hein has cited, duplicate keys can nail you.  Start with the following article that Hein wrote a while back: &lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://h71000.www7.hp.com/openvms/journal/v2/articles/rms.html" target="_blank"&gt;http://h71000.www7.hp.com/openvms/journal/v2/articles/rms.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;As part of examining this, I would encourage you to focus first on the indexed file; to look wider.   I'd tend to look wider first and see if there's an underlying limit or brute-force fix.  This might well be an RMS update, but you can push a SCSI-1-class disk only so fast...  Then work your way down to this indexed file, and tuning it.  (If you've already done the wider look, please ignore this.)&lt;BR /&gt;&lt;BR /&gt;Stephen Hoffman&lt;BR /&gt;HoffmanLabs.com&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 16 May 2007 12:34:15 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/improving-performance-on-indexed-file/m-p/4001318#M12304</guid>
      <dc:creator>Hoff</dc:creator>
      <dc:date>2007-05-16T12:34:15Z</dc:date>
    </item>
    <item>
      <title>Re: Improving performance on indexed file.</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/improving-performance-on-indexed-file/m-p/4001319#M12305</link>
      <description>Yaron,&lt;BR /&gt;&lt;BR /&gt;I agree with both Hein and Hoff.&lt;BR /&gt;&lt;BR /&gt;While the FDL is helpful, what is truly needed are statistics that show where the actual performance is a problem. &lt;BR /&gt;&lt;BR /&gt;ANALYZE/RMS is a good start, multiple ANALYZE/RMS operations separated by regular intervals so that some trend analysis can be done is even better.&lt;BR /&gt;&lt;BR /&gt;It would also be a good idea to do a series of MONITOR runs during peak load with the results  going to a file for later processing using the T4 suite.&lt;BR /&gt;&lt;BR /&gt;I always recommend that clients "do science" rather than presume the nature of the problem. Sometimes the results can be surprising. If not surprising, at least the science allows the rationale for changes to be on a solid footing.&lt;BR /&gt;&lt;BR /&gt;- Bob Gezelter, &lt;A href="http://www.rlgsc.com" target="_blank"&gt;http://www.rlgsc.com&lt;/A&gt;</description>
      <pubDate>Wed, 16 May 2007 13:03:50 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/improving-performance-on-indexed-file/m-p/4001319#M12305</guid>
      <dc:creator>Robert Gezelter</dc:creator>
      <dc:date>2007-05-16T13:03:50Z</dc:date>
    </item>
    <item>
      <title>Re: Improving performance on indexed file.</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/improving-performance-on-indexed-file/m-p/4001320#M12306</link>
      <description>Also check if the Extended File Cache (sysgen vcc_flags=2) gets enough memory (sh mem/cac). VCC_MAX_CACHE may be limiting the cache.&lt;BR /&gt;&lt;BR /&gt;The caching result for each file can be viewed with &lt;BR /&gt;$ sh mem /cac=file=xxx.&lt;BR /&gt;&lt;BR /&gt;If you're on 6.2 or so, consider increasing the VIOC (vcc_maxsize).&lt;BR /&gt;&lt;BR /&gt;Wim</description>
      <pubDate>Mon, 21 May 2007 06:27:06 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/improving-performance-on-indexed-file/m-p/4001320#M12306</guid>
      <dc:creator>Wim Van den Wyngaert</dc:creator>
      <dc:date>2007-05-21T06:27:06Z</dc:date>
    </item>
  </channel>
</rss>

