Rocket U2 | UniVerse & UniData

 View Only
  • 1.  UniVerse: Has anyone ever tuned SCRMIN, SCRMAX or SCRSIZE?

    PARTNER
    Posted 06-15-2021 23:25
    I have occasionally wondered what the SCRMIN, SCRMAX and SCRSIZE settings in the uvconfig file actually influence.
    I know I have never adjusted these values since we started with UV 9 (currently working on our UV 11.3.3 in-place upgrades) so I was wondering if anyone has changed these settings, and if so then to what, and why?

    From the uvconfig file:
    # SCRMIN - specifies the minimum size of
    # UniVerse scratch buffer pool. This
    # value must be at least 1 and must be
    # specified before SCRMAX.
    SCRMIN 3

    # SCRMAX - specifies the maximum size of
    # UniVerse scratch buffer pool. This
    # value must be no smaller than SCRMIN
    # and must be specified after SCRMIN.
    SCRMAX 5

    # SCRSIZE - specifies the size of newly
    # allocated internal scratch buffers. This
    # value must not be smaller than 512 and
    # values greater than 2048 are not advised.
    SCRSIZE 512


    ------------------------------
    Gregor Scott
    Software Architect
    Pentana Solutions
    Mount Waverley VIC Australia
    ------------------------------


  • 2.  RE: UniVerse: Has anyone ever tuned SCRMIN, SCRMAX or SCRSIZE?

    PARTNER
    Posted 06-16-2021 16:11
    Those parameters control the sizes of files created in the UV temp directory. Command such as EXECUTE and CAPTURING create bascXXX entries in the UV Temp directory, and these parameters control the number and size of those files. The SELECT statement also places data in the UV Temp directory and is control by these parameters as well.

    For most system leave SCRMIN and SCRMAX alone, and SRCSIZE and SELBUF should be set to 2048

    Please feel free to contact me if you have any other questions. Check out Mercury Flash at www.mercury-flash.com and take control of your database.

    Regards,
    Jay LaBonte

    ------------------------------
    Jay LaBonte
    President & CEO
    Paradigm Systems, LLC
    [Phone] | https://www.paradigm-systems.us/
    ------------------------------



  • 3.  RE: UniVerse: Has anyone ever tuned SCRMIN, SCRMAX or SCRSIZE?

    PARTNER
    Posted 06-18-2021 01:04
    Interesting feedback @Jay Labonte

    Setting SELBUF to 2048 is interesting, as we have never tuned it to that height.
    Adjusting to that level did reduce (actually eliminated) the need to create a temp file for the select list I was using in my testing.

    I did some testing of the change to SCRSIZE and could not detect any performance difference with it changed from the default of 512.

    How did you come to understand there was a benefit to setting SCRSIZE to 2048?
    Have you seen a benefit of having this setting in place on recent UV versions?



    ------------------------------
    Gregor Scott
    Software Architect
    Pentana Solutions
    Mount Waverley VIC Australia
    ------------------------------



  • 4.  RE: UniVerse: Has anyone ever tuned SCRMIN, SCRMAX or SCRSIZE?

    PARTNER
    Posted 06-18-2021 12:10
    My understanding of these parameters and others has been the result of an extensive background in  UniData and UniVerse tuning. Over the years I have spoken to many, if not most Rocket Software engineers as the result of dealing with various client issues. This is one of those things I picked up over time and with experience. 

    Our software, Mercury Flash (www.mercury-flash.com) has an AutoTune feature that collects various details about a system and then uses formulas we have created to tune some of the parameters found in UVCONFIG and UDTCONFIG files. These specific parameters are a few that we have recently started designing a formula for to determine the optimal tuning values. 

    Due to the differences in systems such as Memory, CPU performance, type of storage, SSD, vs RAM disk, SAN and NAS storage and conventional hard drives with differing spindle speeds in addition to various O/S configurations, identifying the proper tuning parameters for any system can be challenging. This process would be a lot easier if we had access to the UD and/or UV source code, but we don't so the best we can do is collect information from Rocket Support and continue to solve various client issue and collect information to arrive at a solution that fits the majority of cases. It is also important to remember, that what works on one system, may not work on another. It is these variations in performance, that provide clues as to how the various parameters work.

    Most end users are dealing with a very narrow focus when it comes to performance tuning. They generally only see their system and work within those limits. At Paradigm Systems we have been building a knowledge base dedicated to performance tuning and are constantly working to tune our formulas. Performance tuning is not a one and done endeavor, over time user load, system age, database size and software changes (both user software and Database software) affects performance, so performance tuning is a continuous process therefore tuning parameters change over time. 

    As for parameters like SCRSIZE, simply changing  a parameter value may not be instantly evident. Some changes are only effective in specific situations, other times changing a parameter can be instantly noticeable such is the case with SELBUF. The key is to monitor the entire system, looking at various metrics over time as some changes are cumulative and are only visible with multiple users under heavier load.

    I hope this answers your question and I know for some it will only create more questions.

    ------------------------------
    Jay LaBonte
    President & CEO
    Paradigm Systems, LLC
    [Phone] | https://www.paradigm-systems.us/
    ------------------------------



  • 5.  RE: UniVerse: Has anyone ever tuned SCRMIN, SCRMAX or SCRSIZE?

    PARTNER
    Posted 06-21-2021 20:35
    Thanks again @Jay Labonte.

    I am after real-world experiences with these settings and your response tells me you have been working with these settings for a while.

    When I raised a support question with Rocket they described the scratch buffer as "a temporary workspace to store transient results primarily for conversion and formatting functions. Conversions like C,D,F,G,L,MT,P,R,S,T and Tfile. ​".
    So I can see how having the SCRSIZE set to 2048 could help when performing conversion and formatting activities on larger variables/records.

    ------------------------------
    Gregor Scott
    Software Architect
    Pentana Solutions
    Mount Waverley VIC Australia
    ------------------------------