Steve wrote:
Recently the 4k DMF cache was enabled across our Ingres environments.
I notice in CBF, for our production environment, the cache type is
"shared" vs in our development environment, where the cache type is "private ( owner=(default) )." The respective lines from the production
and development configuration files are shown below:
Production config.dat:
ii.<server>.dbms.private.*.cache.p4k_status: OFF ii.<server>.dbms.shared.cach_def.cache.p4k_status: ON
Development config.dat:
ii.<myserver>.dbms.private.*.cache.p4k_status: ON
Is the difference due to the fact that production has four DBMS servers
vs the single server in development?
Yep.
In principle an iidbms server process can serve all your databases. If
you have more than one server process they need to have a coherent view
of the cached data, so they need to share the cache.
Back in the steam age it was claimed--though I doubt it was ever
experienced by any human user--that having a private cache eliminated
the need to negotiate for access. Being private was claimed to give a performance benefit. (Personally I never saw a system where that would
have been anywhere near the top of the list of performance drags.
Roy
Steve wrote:
Recently the 4k DMF cache was enabled across our Ingres environments.
I notice in CBF, for our production environment, the cache type is "shared" vs in our development environment, where the cache type is "private ( owner=(default) )." The respective lines from the
production and development configuration files are shown below:
Production config.dat:
ii.<server>.dbms.private.*.cache.p4k_status: OFF ii.<server>.dbms.shared.cach_def.cache.p4k_status: ON
Development config.dat:
ii.<myserver>.dbms.private.*.cache.p4k_status: ON
Is the difference due to the fact that production has four DBMS
servers vs the single server in development?
Yep.
In principle an iidbms server process can serve all your databases. If
you have more than one server process they need to have a coherent
view of the cached data, so they need to share the cache.
Back in the steam age it was claimed--though I doubt it was ever
experienced by any human user--that having a private cache eliminated
the need to negotiate for access. Being private was claimed to give a performance benefit. (Personally I never saw a system where that would
have been anywhere near the top of the list of performance drags.
Roy
Thanks, that's interesting, particularly what you said about generating appropriate stats.
Regarding the 4k cache, almost all tables in the database have
2k pages. Actian recommended the tables be changed to 8k and the
secondary indexes to 4k.
Actually, that brings up another question,
I was considering changing the indexes to 4k first and sometime later changing the tables to 8k. Is there any reason to think 2k tables cannot
have 4k secondary indexes?
What are the benefits, reasons for using 16 or higher page sizes?
The argument for bigger pages is more getting more bang for your I/O
buck.
God willing, as mentioned above, I plan to increase the page size of
all user tables and indexes to 8k and 4k, respectively. Currently both
are 2k. This was a recommendation by Actian.
A small portion of the tables are already 8k; that being the default
page size.
Upon making these changes, I was thinking of reducing the 2k buffer cache
by 75%, as the only 2k tables at that point would be the system catalogs
(I think they¢re 2k) and possibly the odd users¢ own private tables. I figured the memory saved could be reallocated to the 8k cache. Is that
a reasonable idea?
God willing, as mentioned above, I plan to increase the page size of
all user tables and indexes to 8k and 4k, respectively. Currently both
are 2k. This was a recommendation by Actian.
A small portion of the tables are already 8k; that being the default
page size.
Upon making these changes, I was thinking of reducing the 2k buffer cache
by 75%, as the only 2k tables at that point would be the system catalogs
(I think they¢re 2k) and possibly the odd users¢ own private tables. I figured the memory saved could be reallocated to the 8k cache. Is that
a reasonable idea?
Hi Steve,
Catalogs are typically 8k, but this would be version dependent. You can find out for sure by querying iitables.
select distinct table_pagesize from iitables\g
It's certainly reasonable to reduce the 2k cache and expand the 8k in its place, but you may like to monitor with dm420 to get some cache usage stats before going wild.
Martin Bowes
Hi Steve,
Catalogs are typically 8k, but this would be version dependent. You can find out for sure by querying iitables.
select distinct table_pagesize from iitables\g
It's certainly reasonable to reduce the 2k cache and expand the 8k in its place, but you may like to monitor with dm420 to get some cache usage stats before going wild.
Martin Bowes
Could running trace point DM420 cause a drag on the system
can I leave it running (for days), or should I run it for specific
periods?
Hi Steve,
I run DM420 each hour on all my machines and find no performance hit.
I have a daily report, just tracking FIX CALLS, HITS and GREADIOS. You can imagine there is a lot of variation through the day. eg: Business hours transactions Vs Nightly batch updates and data warehouse type rebuilds.
It's not unreasonable, but generally I think Ingres is abstemious
to a fault with DMF memory. Freeing up what is probably only a very
small amount of memory won't make much difference.
I am not the world's biggest fan of 4k pages. Owing to the larger
per-row overhead of "large" pages you might find you waste less disk
space if you just use 8k pages for everything.
You don't mention what you are expecting to get from larger page sizes.
They do enable ALTER TABLE which is handy, but if you are
using locking (and you will be) rather than MVCC you might find page
sizes bigger than 2k aggravate any lock-contention you may have.
It's not unreasonable, but generally I think Ingres is abstemious to a
fault with DMF memory. Freeing up what is probably only a very small
amount of memory won't make much difference.
I am not the world's biggest fan of 4k pages. Owing to the larger
per-row overhead of "large" pages you might find you waste less disk
space if you just use 8k pages for everything.
You don't mention what you are expecting to get from larger page sizes.
They do enable ALTER TABLE which is handy, but if you are using
locking (and you will be) rather than MVCC you might find page sizes
bigger than 2k aggravate any lock-contention you may have.
From my perspective, I know I can push this change through, as it's recommended by Actian.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 351 |
Nodes: | 16 (2 / 14) |
Uptime: | 32:07:20 |
Calls: | 7,634 |
Files: | 12,796 |
Messages: | 5,689,088 |