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-clock 82.37% [kernel] [k] __mutex_lock_common.isra.5 4.49% [kernel] [k] do_raw_spin_lock 2.23% [kernel] [k] mutex_lock 2.16% [kernel] [k] mutex_unlock 2.12% [kernel] [k] arch_local_irq_restore 1.73% postgres [.] ValidXLogRecord 0.87% [kernel] [k] __mutex_unlock_slowpath 0.78% [kernel] [k] arch_local_irq_enable 0.63% [kernel] [k] sys_recvfromfinally get which processes (wal senders) that are using mutexes:perf top -e task-clock -p 55382Events: 697 task-clock 88.08% [kernel] [k] __mutex_lock_common.isra.5 3.27% [kernel] [k] do_raw_spin_lock 2.34% [kernel] [k] arch_local_irq_restore 2.10% postgres [.] ValidXLogRecord 1.87% [kernel] [k] mutex_unlock 1.87% [kernel] [k] mutex_lock 0.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? -- regardsujang jaenudin | DBA Consultant (Freelancer)http://ora62.wordpress.comhttp://id.linkedin.com/pub/ujang-jaenudin/12/64/bab
pgsql-performance by date:
Соглашаюсь с условиями обработки персональных данных