Translating with DrWatson… this can take a few seconds the first time.
This is a genuine, complex translation. DrWatson protects commands, error codes, and log output while naturally translating the surrounding text. It’s translated once and saved.
A DBA posted an onconfig for tuning advice (AIX). Andrew Hamm suggested: swap the NETTYPE poll thread assignments so soctcp runs on NET VPs and ipcshm on CPU VPs (and match ipcshm poll threads to the 3 CPUVPs, e.g. ipcshm,3,100,CPU for balance); set RESIDENT -1 to pin shared memory; consider processor affinity (AFF_SPROC/AFF_NPROCS) avoiding CPU 0 alongside NOAGE; use KAIO rather than many AIO VPs; reduce CKPTINTVL back to 300; cut the oversized RA_PAGES/RA_THRESHOLD to about 32/28; and review the DBSPACETEMP list and whether the spaces are true temp dbspaces. Neil Truby questioned the affinity advice, and Andrew explained the reasoning (avoiding CPU migration costs, keeping CPU 0 for kernel work). No confirmation from the original poster is recorded.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Andrew Hamm — — source: Usenet: comp.databases.informix
sumGirl wrote:
> NETTYPE soctcp,2,150,CPU
> NETTYPE ipcshm,2,150,NET
CPU processes don't do soctcp very well, and NET processes don't do ipcshm
very well. swap this to
NETTYPE soctcp,2,150,NET
NETTYPE ipcshm,2,150,CPU
> RESIDENT 0 # Forced residency flag (Yes = 1, No =
If you've got so much memory - ENSURE it's pinned down:
RESIDENT -1
> NOAGE 1 # Process aging
> AFF_SPROC 0 # Affinity start processor
> AFF_NPROCS 0 # Affinity number of processors
No age is Good for many processes, but affinity is Good too (pending it's
support in AIX which I would expect)
AFF_SPROC 1 (1 or two - use the last 3 cpu's)
AFF_NPROCS 3
The reason i suggest using the last 3 cpus (using whatever numbering scheme
AIX uses) is that on some platforms, processor zero does specific kernel
and/or hardware tasks, so don't interfere with responsiveness on that.
> BUFFERS 150000 # Maximum number of shared buffers
like the other's said....
> NUMAIOVPS 2 # Number of IO vps
I hope you are using KAIO. If not.....
> CKPTINTVL 1800 # Check point interval (in sec)
Pointless. Return to 300, especially if you are adding yet more buffers as
recommended.
> # Read Ahead Variables
> RA_PAGES 128 # Number of pages to attempt to read
> RA_THRESHOLD 120 # Number of pages left before next
Excessive. That will impact on other threads. Drop to 32,28. Prove that it
needs to be higher before going mad on this one. Is your system OLTP or
warehousy?
> DBSPACETEMP work1dbs,work2dbs # Default temp dbspaces
is one and only one of these a T (temp) dbspace?
↪ replying to Andrew Hamm
Neil Truby — — source: Usenet: comp.databases.informix
"Andrew Hamm" <ahamm@mail.com> wrote in message
news:c61qsi$6v3ch$1@ID-79573.news.uni-berlin.de...
>
> No age is Good for many processes, but affinity is Good too (pending it's
> support in AIX which I would expect)
>
Well, I'd be interested in hearing someone whose views I respect expounding
the benefits. But perhaps you could lead off, Andrew .... ;-)
> > DBSPACETEMP work1dbs,work2dbs # Default temp dbspaces
>
> is one and only one of these a T (temp) dbspace?
Why?
↪ replying to Neil Truby
Andrew Hamm — — source: Usenet: comp.databases.informix
Neil Truby wrote:
> "Andrew Hamm" <ahamm@mail.com> wrote in message
> news:c61qsi$6v3ch$1@ID-79573.news.uni-berlin.de...
>>
>> No age is Good for many processes, but affinity is Good too (pending
>> it's support in AIX which I would expect)
>>
>
> Well, I'd be interested in hearing someone whose views I respect
> expounding the benefits. But perhaps you could lead off, Andrew ....
> ;-)
once again, may depend on the architecture, and I don't know AIX, but the
two main benefits of noage and affinity are:
1) pinning a process to a CPU saves the cost of migration to another CPU,
which might involve relatively expensive memory copying.
2) pinning AWAY from the first physical CPU may be good for kernel and/or
hardware processing
3) noage is good 'cos it give IDS a lot of guaranteed CPU time that is
typically needed. If there is nothing else happening on the machine apart
from clients (4GL or java or whatever) then they are more than amply
serviced by the remaining CPU. Most of the work on a dedicated database
machine is in the engine.
4) there is no point 4
>
>>> DBSPACETEMP work1dbs,work2dbs # Default temp dbspaces
>>
>> is one and only one of these a T (temp) dbspace?
>
> Why?
Because there's only two spaces listed :-) Of course, more spaces would be
nice, and a decent mix of types in amongst that, but some things are too
fussy to go into detail in the first reponse - I'm trying to cut down...
↪ replying to Andrew Hamm
Andrew Hamm — — source: Usenet: comp.databases.informix
Andrew Hamm wrote:
> sumGirl wrote:
>
> NETTYPE soctcp,2,150,NET
> NETTYPE ipcshm,2,150,CPU
I missed one. You have 3 CPUVP's allocated, so change the ipcshm to:
NETTYPE ipcshm,3,100,CPU
because then the load applied to the CPU will be better balanced. Art S.
Kagel has expounded on this subject quite admirably in the past. I'd
actually be interested to know if this point has been corrected in the
engine code these days. Any thoughts Art? Any recent experiments applied to
see if it still matters?
We use strictly necessary cookies to make this site work. With your
consent we’d also use optional cookies for analytics and marketing. You can accept all,
reject all, or choose. Read our Cookie Policy.