Re: Context switch storm

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The solution for us has been twofold:

upgrade to the newest PG version available at the time while we waited
for our new Opteron-based DB hardware to arrive.

Andreas


Am Freitag, den 03.11.2006, 13:29 +0000 schrieb Richard Huxton:
> Cosimo Streppone wrote:
> > Richard Huxton wrote:
> > 
> >> creimer@xxxxxxxxxxxxxx wrote:
> >>>
> >>> The average context switching for this server as vmstat shows is 1
> >>> but when the problem occurs it goes to 250000.
> >>
> >> You'll tend to see it when you have multiple clients and most queries 
> >> can use RAM rather than disk I/O. My understanding of what happens is 
> >> that PG requests data from RAM - it's not in cache so the process gets 
> >> suspended to wait. The next process does the same, with the same 
> >> result.   You end up with lots of processes all fighting over what 
> >> data is in the cache and no-one gets much work done.
> > 
> > Does this happen also with 8.0, or is specific to 8.1 ?
> 
> All versions suffer to a degree - they just push the old Xeon in the 
> wrong way. However, more recent versions *should* be better than older 
> versions. I believe some work was put in to prevent contention on 
> various locks which should reduce context-switching across the board.
> 
> > I seem to have the same exact behaviour for an OLTP-loaded 8.0.1 server
> 
> upgrade from 8.0.1 - the most recent is 8.0.9 iirc
> 
> > when I raise `shared_buffers' from 8192 to 40000.
> > I would expect an increase in tps/concurrent clients, but I see an average
> > performance below a certain threshold of users, and when concurrent users
> > get above that level, performance starts to drop, no matter what I do.
> 
> Are you seeing a jump in context-switching in top? You'll know when you 
> do - it's a *large* jump. That's the key diagnosis. Otherwise it might 
> simply be your configuration settings aren't ideal for that workload.
> 
> > Server logs and io/vm statistics seem to indicate that there is little
> > or no disk activity but machine loads increases to 7.0/8.0.
> > After some minutes, the problem goes away, and performance returns
> > to acceptable levels.
> 
> That sounds like it. Query time increases across the board as all the 
> clients fail to get any data back.
> 
> > When the load increases, *random* database queries show this "slowness",
> > even if they are perfectly planned and indexed.
> > 
> > Is there anything we can do?
> 
> Well, the client I saw it with just bought a dual-opteron server and 
> used their quad-Xeon for something else. However, I do remember that 8.1 
> seemed better than 7.4 before they switched. Part of that might just 
> have been better query-planning and other efficiences though.
> 

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil


[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux