Re: AFF_SPROC + AFF_NPROCS
Posted in 2000
D.Penfold@Libertel.nl wrote:
>
> Does anyone out there have any warnings/advice re: setting the above
> parameters?
You really need to supply your platform, engine version, etc. details.
Different platforms display different characteristics. You could then
get some actual experiences from people with a similar setup to you.
> I'm administering a system at the moment that has 6 cpus, and
> NUMCPUVPS set to 5, but neither of the AFF parameters are set. onstat -g glo
> shows very uneven cpu vp activity, and top shows very uneven cpu activity. I
> immediatley suggested setting:
>
> AFF_NPROCS 5
> AFF_SPROC 0 or 1
An uneven distribution of work across your CPU VPs usually indicates
that you have too many allocated. You will find a certain number doing
all the work, and then the rest of the work tailing off across the
remainder. You can dynamically add and drop CPU VPs if you want to
monitor the effect of different numbers.
> Someone else panicked at the suggestion, saying that it meant that informix
> would take up too many resources and not leave the in house application with
> enough, which may need up to 50% of the cpu activity. The only problem I
> could think of was if some of these individual in house application
> processes take up a lot of cpu time, and may need to be individually bound
> to specific cpus. This is apparently not the case, its lots of small
> processes. Accordingly, I said that the way to deal with this is to allocate
> a lower NUMCPUVPS, 4, 3 or even 2, and spread these around evenly with the
> AFF parameters, not to just let them all bunch up together.
Certainly you need to balance the CPU resources between the app and DB
server if they reside on the same machine. I think you have the right
approach to reducing the number of CPU VPs. People sometimes assume that
affinity means ONLY that process will run on that CPU. It just means
that your VPs get priority and hence the database performs better. Of
course, this has to be balanced with the app's performance.
The ideal situation for performance tuning is to split the app and
database onto two different machines. Makes tuning a lot easier. :-)
> Someone else has put these changes on hold, saying they want to look into
> what cpus perform intterupts or any other vital function.
Generally system functions are performed on CPU 0. So it is a good idea
to avoid this one. Remember that CPU's are generally numbered from zero
onwards.
> Any advice on any of this? e.g. my approach, anything I've missed, and also
> what means/tools could you use to determine what cpus perform special unique
> functions and need to be protected.
Have you checked that this feature is supported on your platform? Check
the release notes for this and other requirements like kernel parameter
settings.
Cheers,
--
Mark.
+----------------------------------------------------------+-----------+
| Mark D. Stock mailto:mdstock@mydas.freeserve.co.uk |//////// /|
| http://www.informix.com http://www.informixhandbook.com |///// / //|
| http://www.iiug.org +-----------------------------------+//// / ///|
| |What year 2000 bug? year 2000 bug? |/// / ////|
| |year 2000 bug? year 2000 bug? year |// / /////|
| |2000 bug? year 2000 bug? year 1900 |/ ////////|
+----------------------+-----------------------------------+-----------+