Re: Context switch storm
От | Cosimo Streppone |
---|---|
Тема | Re: Context switch storm |
Дата | |
Msg-id | 454B3EDC.3090502@streppone.it обсуждение исходный текст |
Ответ на | Re: Context switch storm (Richard Huxton <dev@archonet.com>) |
Список | pgsql-performance |
Richard Huxton wrote: > creimer@brturbo.com.br wrote: >> Hi, >> >> We've migrated one of our servers from pg 7.4 to 8.1 and from times >> to times (4 hours) the server start doing a lot of context switching >> and all transactions become very slow. >> >> 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 ? I seem to have the same exact behaviour for an OLTP-loaded 8.0.1 server 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. 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. When the load increases, *random* database queries show this "slowness", even if they are perfectly planned and indexed. Is there anything we can do? -- Cosimo
В списке pgsql-performance по дате отправления: