Oracle Analytics Cloud and Server

Welcome to the Oracle Analytics Community: Please complete your User Profile and upload your Profile Picture

Cannot properly seed the cache due to DATETIME.

Accepted answer
101
Views
7
Comments
Rank 4 - Community Specialist

OAS 7.0


Hi!

I want to seed a really slow dashboard, and I want to set the filter to properly seed a big date range (20 years).

I used the server variable current year which results in [01.01.2023 00:00:00]. This method results in a really swift load.

I then thought I could just choose a distinct value [01.01.2000 00:00:00] and it would work fine, but it did not work at all. I then tested to choose distinct value [01.01.2023 00:00:00] and proceeded to seed, which also resulted in a really slow load - which suprised me since it was so swift with the server variable.


I believe I am missing some knowledge or something. Is it the dateformat that makes it sluggish and slow, which is somewhat alleviated with a server variable, or is there something else at play?


It returns a row for every unpaid invoice past due date in the date range, which is why I want to do 20 years - 5 years is also fine if the date format makes it slow.


What is a good way to go about achieving a swift load like I want?

Welcome!

It looks like you're new here. Sign in or register to get started.

Best Answers

  • Rank 6 - Analytics Lead
    Answer ✓

    Hi @Kristian B. Joergensen

    So when we say slower load times, i do understand that its the cache seed time , ie the time taken for the agent that executes and seeds nqsserver cache takes a lot of time for the records over 20 years?

    Do you see much difference in the "physical query execution time" between the good one and the slower one? Check if you need to tune the CACHE parameters in the NQSCONFIG.INI File based on the size of the cache that gets saved for that analysis and for all larger analyses.


    DATA_STORAGE_PATHS = "resultscache" 500 MB;
    MAX_ROWS_PER_CACHE_ENTRY = 100000;  # 0 is unlimited size
    MAX_CACHE_ENTRY_SIZE = 20 MB;  # This Configuration setting is managed by Oracle Enterprise Manager Fusion Middleware Control
    MAX_CACHE_ENTRIES = 1000;  # This Configuration setting is managed by Oracle Enterprise Manager Fusion Middleware Control
    POPULATE_AGGREGATE_ROLLUP_HITS = NO;
    USE_ADVANCED_HIT_DETECTION = NO;
    
    
    MAX_SUBEXPR_SEARCH_DEPTH = 7;
    DISABLE_SUBREQUEST_CACHING = NO;
    
    
    #Cache file buffer size.Default is 128 KB
    CACHE_FILE_BUFFER_SIZE = 128 KB;
    
    
    # Cluster-aware cache.
    # Note that since this is a network share, the directory should not be
    # relative.
    GLOBAL_CACHE_STORAGE_PATH = "" 0 MB;  # This Configuration setting is managed by Oracle Enterprise Manager Fusion Middleware Control
    MAX_GLOBAL_CACHE_ENTRIES = 1000;
    CACHE_POLL_SECONDS = 300;
    CLUSTER_AWARE_CACHE_LOGGING = NO;
    
    


  • Hi

    Please check session.log when you execute the dashboard after seeding cache using both methods and verify if the one taking longer is producing a cache hit or is it sending to database.

    Check Table 5-3 Factors That Determine Whether Cache Is Hit in the following Cache hit section of doc : https://docs.oracle.com/middleware/1221/biee/BIESG/querycaching.htm#BIESG254 to understand why a query might not be producing a cache hit.

    Thanks

    Gayathri

  • Rank 6 - Analytics Lead
    Answer ✓

    to add on top of @GayathriAnand-Oracle inputs, @Kristian B. Joergensen begin with the session log with higher loglevel and check if the logical query and the plan are same of the one that is generated by the users and the one that you seeded the cache.

    If the logical query and its plan changes for the case#1 , it may not be consuming the cache

  • Hi @Kristian B. Joergensen ,

    Can you share more details about the dashboard prompt? e.g. the data type of the prompt, whether it's column based or a variable one, the way you are populating the list of available and default values, the way you are referencing it in any analyses in the dashboard, etc.

Answers

  • Rank 4 - Community Specialist
    edited November 2023

    No, it is not the seeding that takes a lot of time (it seems to run fast) - it is the dashboard loading.

    After seeding the dashboard uses a lot of time to load when seeded with distinct value, while when seeded with server variables (both values being '01-01-2023 00:00;00') results in vastly different load times.

    Seeded with distinct value '01-01-2023 00:00;00': 25 seconds+ (Feels unseeded)

    Seeded with server variable '01-01-2023 00:00;00': 1 second

    The object that carries the values is the dashboard prompt.

  • Rank 4 - Community Specialist

    When seeding with a specific date, it does not hit the cache, so I am a step further - thank you!

  • Rank 4 - Community Specialist

    When I look it up in DV: 'date' in I use in dashboard prompt is datatype: Time, is set to be treated as attribute and the table that it presents in a workbook does not show all dates (saturdays and sundays are excluded - I anticipate that the db has no records on saturdays/sundays), but has single entries per date - for example, the earliest is 01/02/2012 12:00:00 AM.


    These insights effectively solved the issue. I cached it now and it works when I input the earliest record of the time attribute of the database.


    The reason for cache miss was that the specific value I set was 01/01/2023 23:00:00 instead of 00:00:00 and I did not see that it had 23 because the box was too small to show the complete entry.


    Thank you to all contributors!

Welcome!

It looks like you're new here. Sign in or register to get started.