Re: [PERFORM] BDR, wal sender, high system cpu, mutex_lock_common
| От | milist ujang | 
|---|---|
| Тема | Re: [PERFORM] BDR, wal sender, high system cpu, mutex_lock_common | 
| Дата | |
| Msg-id | CACG9ogwyRvdvqxCV_RoFK=71e--_PLxPLSxKVX-VcwcZqqnsbA@mail.gmail.com обсуждение исходный текст | 
| Ответ на | [PERFORM] BDR, wal sender, high system cpu, mutex_lock_common (milist ujang <ujang.milist@gmail.com>) | 
| Список | pgsql-performance | 
additional info, strace output :
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 98.30    1.030072           5    213063    201463 read
  1.69    0.017686           0    201464    201464 recvfrom
  0.01    0.000110           0       806           lseek
  0.00    0.000043           0       474       468 rt_sigreturn
  0.00    0.000000           0         6           open
  0.00    0.000000           0         6           close
------ ----------- ----------- --------- --------- ----------------
100.00    1.047911                415819    403395 total
On Sat, Sep 30, 2017 at 6:07 AM, milist ujang <ujang.milist@gmail.com> wrote:
Hi all,I've an environment 9.4 + bdr:PostgreSQL 9.4.4 on x86_64-unknown-linux-gnu, compiled by gcc (Debian 4.7.2-5) 4.7.2, 64-bitkernel version:3.2.0-4-amd64 #1 SMP Debian 3.2.65-1 x86_64 GNU/LinuxThis is consolidation databases, in this machine there are around 250+ wal sender processes.top output revealed high system cpu:%Cpu(s): 1.4 us, 49.7 sy, 0.0 ni, 48.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 stprofiling cpu with perf:perf top -e cpu-clockEvents: 142K cpu-clock82.37% [kernel] [k] __mutex_lock_common.isra.54.49% [kernel] [k] do_raw_spin_lock2.23% [kernel] [k] mutex_lock2.16% [kernel] [k] mutex_unlock2.12% [kernel] [k] arch_local_irq_restore1.73% postgres [.] ValidXLogRecord0.87% [kernel] [k] __mutex_unlock_slowpath0.78% [kernel] [k] arch_local_irq_enable0.63% [kernel] [k] sys_recvfromfinally get which processes (wal senders) that are using mutexes:perf top -e task-clock -p 55382Events: 697 task-clock88.08% [kernel] [k] __mutex_lock_common.isra.53.27% [kernel] [k] do_raw_spin_lock2.34% [kernel] [k] arch_local_irq_restore2.10% postgres [.] ValidXLogRecord1.87% [kernel] [k] mutex_unlock1.87% [kernel] [k] mutex_lock0.47% [kernel] [k] sys_recvfromI think bdr is only reading wal file (current state is we behind current wal lsn),so why reading wal file needs mutex?I wonder, is there kernel version has better handling mutexes?--regards
ujang jaenudin | DBA Consultant (Freelancer)
http://ora62.wordpress.com
http://id.linkedin.com/pub/ujang-jaenudin/12/64/bab 
regards
ujang jaenudin | DBA Consultant (Freelancer)
http://ora62.wordpress.com
http://id.linkedin.com/pub/ujang-jaenudin/12/64/bab
ujang jaenudin | DBA Consultant (Freelancer)
http://ora62.wordpress.com
http://id.linkedin.com/pub/ujang-jaenudin/12/64/bab
В списке pgsql-performance по дате отправления: