pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
 Re[2]: [PERFORM] Re[2]: [PERFORM] SMP on a heavy loaded database
3+ messages / 1 participants
[nested] [flat]

*  Re[2]: [PERFORM] Re[2]: [PERFORM] SMP on a heavy loaded database
@ 2013-01-04 15:56 ` nobody nowhere <devnull@mail.ua>
  2 siblings, 0 replies; 3+ messages in thread

From: nobody nowhere @ 2013-01-04 15:56 UTC (permalink / raw)
  To: Charles Gomes <charlesrg@outlook.com>; +Cc: pgsql-performance




Пятница,  4 января 2013, 9:47 -05:00 от Charles Gomes <charlesrg@outlook.com>:
>________________________________
>> From:  devnull@mail.ua
>> To:  pgsql-performance@postgresql.org
>> Subject: [PERFORM] Re[2]: [PERFORM] SMP on a heavy loaded database 
>> Date: Fri, 4 Jan 2013 18:41:25 +0400 
>> 
>> 
>> 
>> 
>> Пятница, 4 января 2013, 0:42 -07:00 от Scott Marlowe 
>> < scott.marlowe@gmail.com >: 
>> On Thu, Jan 3, 2013 at 4:45 PM, nobody nowhere 
>> <devnull@mail.ua< http://sentmsg?compose&To=devnull%40mail.ua >> wrote: 
>>  > Centos 5.X kernel 2.6.18-274 
>>  > pgsql-9.1 from pgdg-91-centos.repo 
>>  > relatively small database 3.2Gb 
>>  > Lot of insert, update, delete. 
>>  > 
>>  > I see non balanced _User_ usage on 14 CPU, exclusively assigned to 
>> the hardware raid controller. 
>>  > What I'm doing wrong, and is it possible somehow to fix? 
>>  > 
>>  > Thanks in advance. 
>>  > 
>>  > Andrew. 
>>  > 
>>  > # top -d 10.00 -b -n 2 -U postgres -c 
>>  > 
>>  > top - 23:18:19 up 453 days, 57 min, 3 users, load average: 0.55, 0.47, 0.42 
>>  > Tasks: 453 total, 1 running, 452 sleeping, 0 stopped, 0 zombie 
>>  > Cpu0 : 0.6%us, 0.1%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
>>  > Cpu1 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
>>  > Cpu2 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
>>  > Cpu3 : 1.2%us, 0.1%sy, 0.0%ni, 98.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
>>  > Cpu4 : 2.6%us, 0.4%sy, 0.0%ni, 96.8%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st 
>>  > Cpu5 : 0.8%us, 0.0%sy, 0.0%ni, 99.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
>>  > Cpu6 : 5.4%us, 0.2%sy, 0.0%ni, 94.2%id, 0.2%wa, 0.0%hi, 0.0%si, 0.0%st 
>>  > Cpu7 : 3.3%us, 0.4%sy, 0.0%ni, 96.1%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st 
>>  > Cpu8 : 1.4%us, 0.3%sy, 0.0%ni, 98.2%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st 
>>  > Cpu9 : 0.0%us, 0.1%sy, 0.0%ni, 99.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
>>  > Cpu10 : 0.0%us, 0.1%sy, 0.0%ni, 99.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
>>  > Cpu11 : 1.6%us, 0.6%sy, 0.0%ni, 97.4%id, 0.0%wa, 0.0%hi, 0.4%si, 0.0%st 
>>  > Cpu12 : 0.5%us, 0.1%sy, 0.0%ni, 99.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
>>  > Cpu13 : 1.4%us, 0.2%sy, 0.0%ni, 98.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
>>  > Cpu14 : 24.2%us, 0.8%sy, 0.0%ni, 74.5%id, 0.3%wa, 0.0%hi, 0.2%si, 0.0%st 
>>  > Cpu15 : 0.7%us, 0.1%sy, 0.0%ni, 99.0%id, 0.0%wa, 0.1%hi, 0.1%si, 0.0%st 
>>  > Mem: 16426540k total, 16356772k used, 69768k free, 215764k buffers 
>>  > Swap: 4194232k total, 145280k used, 4048952k free, 14434356k cached 
>>  > 
>> 
>> So how many concurrent users are accessing this db? pgsql assigns one 
>> process on one core so to speak. It can't spread load for one user 
>> over all cores. 
>> 64 php Fast-cgi processes over the Unix socket and about 20-30 over tcp
>
>Are you running IRQ Balance ? The OS can pin process to the respective IRQ handler. 		 	   		  I switch off IRQ Balance on any heavy loaded servers and statically assign IRQ's to processors using 
echo 000X > /proc/irq/XX/smp_affinity 

irqballance do not help to fix it..



^ permalink  raw  reply  [nested|flat] 3+ messages in thread

*  Re[2]: [PERFORM] Re[2]: [PERFORM] SMP on a heavy loaded database
@ 2013-01-04 16:23 ` nobody nowhere <devnull@mail.ua>
  2 siblings, 0 replies; 3+ messages in thread

From: nobody nowhere @ 2013-01-04 16:23 UTC (permalink / raw)
  To: Claudio Freire <klaussfreire@gmail.com>; +Cc: pgsql-performance




Пятница,  4 января 2013, 11:52 -03:00 от Claudio Freire <klaussfreire@gmail.com>:
>On Fri, Jan 4, 2013 at 11:41 AM, nobody nowhere < devnull@mail.ua > wrote:
>> So how many concurrent users are accessing this db? pgsql assigns one
>> process on one core so to speak. It can't spread load for one user
>> over all cores.
>>
>> 64 php Fast-cgi processes over the Unix socket and about 20-30 over tcp
>
>I guess that means the server isn't dedicated to postgres...
>
>...have you checked which PID is using that core? Is it postgres-related?
How do I know it?

Only postgres on this server heavely use the Raid controller. PHP comletely in XCache. At night I'll try to change socket to tcp. May be it  will help,
 


^ permalink  raw  reply  [nested|flat] 3+ messages in thread

*  Re[2]: [PERFORM] Re[2]: [PERFORM] SMP on a heavy loaded database
@ 2013-01-05 08:37 ` nobody nowhere <devnull@mail.ua>
  2 siblings, 0 replies; 3+ messages in thread

From: nobody nowhere @ 2013-01-05 08:37 UTC (permalink / raw)
  To: Claudio Freire <klaussfreire@gmail.com>; +Cc: pgsql-performance




Пятница,  4 января 2013, 18:53 -03:00 от Claudio Freire <klaussfreire@gmail.com>:
>On Fri, Jan 4, 2013 at 6:38 PM, nobody nowhere < devnull@mail.ua > wrote:
>> On Fri, Jan 4, 2013 at 6:07 PM, nobody nowhere < devnull@mail.ua > wrote:
>>> 9092 postgres 16 0 4326m 41m 34m S 0.0 0.3 0:00.27 14 postgres: user
>>> user_db [local] idle
>>> 9098 postgres 16 0 4329m 203m 194m S 3.5 1.3 0:00.65 14 postgres: user
>>> user_db [local] idle
>>> 9099 postgres 16 0 4327m 45m 38m S 0.0 0.3 0:00.41 14 postgres: user
>>> user_db [local] idle
>>
>> That looks like pg has been pinned to CPU14. I don't think it's pg's
>> doing. All I can think of is: check scheduler tweaks, numa, and pg's
>> initscript. Just in case it's being pinned explicitly.
>>
>> Not pinned.
>> Forks with tcp connection use other CPU. I just add connections pool and
>> change socket to tcp
>
>How interesting. It must be a peculiarity of unix sockets. I know unix
>sockets have close to no buffering, task-switching to the consumer
>instead of buffering. Perhaps what you're experiencing here is this
>"optimization" effect. It's probably not harmful at all. The OS will
>switch to another CPU if the need arises. It's not socket problem. 

Ths same result when I change php fast-cgi connection to tcp, 
Remote clients over tcp use insert-delete. Just data collection. Nothing more.
Locally php its lot of PL data processing functions. It's PL problem !!

>
>
>Have you done any stress testing? Is there any actual performance impact?

On my experience stress testing and real production perfomance usually absolutely different. :)
No application development going together with business growing. We just add functional to the system step by step.
For a last couple month we just grow up quickly and I decide to check performance :(

>
>
>-- 
>Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
>To make changes to your subscription:
>http://www.postgresql.org/mailpref/pgsql-performance


-- 
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance


^ permalink  raw  reply  [nested|flat] 3+ messages in thread


end of thread, other threads:[~2013-01-05 08:37 UTC | newest]

Thread overview: 3+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2013-01-04 15:56 ` nobody nowhere <devnull@mail.ua>
2013-01-04 16:23 ` nobody nowhere <devnull@mail.ua>
2013-01-05 08:37 ` nobody nowhere <devnull@mail.ua>

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox