Re: DS_TOTAL_MEMORY configuration
Posted in 1997
>We are trying to configure our instance of Informix ODS 7.23 to support
>pdq. Using the default DSS parameters (DS_TOTAL_MEMORY and DS_MAX_QUERIES
>are blank), we get 208 errors when running queries with aggregate
>functions and PDQPRIORITY>1.
>
>Our first guess was to increase DS_TOTAL_MEMORY, but the ODS Performance
>Guide says it should be up to 80-90% of SHMTOTAL. But since the
>recommendation is to leave SHMTOTAL to 0, this doesn't provide a lot of
>guidance.
>
>Our instance of Informix is running on a dual processor Sun 3000, with
>256Meg of memory. Does anyone know of better guidelines for setting
>DS_TOTAL_MEMORY and/or SHMTOTAL? Thanks.
>
Leaving SHMTOTAL to zero means that you are not going to enforce a limit on the
max size that oninit will allocate. You'll basically expand until the maximum
amout of shared memory is allocated, or you run out of virtural memory at the
os level.
For sites that are wanting to turn on pdq, I'd suggest doing it in steps.
First of all your data has to be orginized so that parallism can occur. That
means that you need to fragment your data. Next you might want to consider
setting PDQPRIORITY to 1. This will enable seperate parallel scan threads to
be generated for any query. In many cases this will produce enough of a
performance improvement that increasing the PDQPRIORITY any higher will be of
now benifit.
If the goal is to maximize parallism and to set PDQPRIORITY above 1, the the
first question that needs to be asked is how many PDQ queries do you want to
run concurrently. If you will be satisified with only 5, then setting
PDQPRIORITY to 20 would be a way to go.
Now for PDQmemory, how large to set DS_TOTAL_MEMORY? One thing that you could
do is to examine your current memory usage. Check out onstat -g seg. What is
the total sum of all of your virtiral memory segments? You could plan on
setting DS_TOTAL_MEMORY to 60-75% of that value. However, you might want to
consider the total physical memory (not virtural) on your system. I would
think that it might make sense to plan setting DS_TOTAL_MEMORY to about 60% of
all physical memory.
Madison Pruet