Performance under contention

Поиск
Список
Период
Сортировка
От Ivan Voras
Тема Performance under contention
Дата
Msg-id icccng$kpg$1@dough.gmane.org
обсуждение исходный текст
Ответы Re: Performance under contention  (Greg Smith <greg@2ndquadrant.com>)
Re: Performance under contention  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-performance
This is not a request for help but a report, in case it helps developers
or someone in the future. The setup is:

AMD64 machine, 24 GB RAM, 2x6-core Xeon CPU + HTT (24 logical CPUs)
FreeBSD 8.1-stable, AMD64
PostgreSQL 9.0.1, 10 GB shared buffers, using pgbench with a scale
factor of 500 (7.5 GB database)

with pgbench -S (SELECT-queries only) the performance curve is:

-c#    result
4    33549
8    64864
12    79491
16    79887
20    66957
24    52576
28    50406
32    49491
40    45535
50    39499
75    29415

After 16 clients (which is still good since there are only 12 "real"
cores in the system), the performance drops sharply, and looking at the
processes' state, most of them seem to eat away system call (i.e.
executing in the kernel) in states "semwait" and "sbwait", i.e.
semaphore wait and socket buffer wait, for example:

  3047 pgsql       1  60    0 10533M   283M sbwait 12   0:01  6.79% postgres
  3055 pgsql       1  64    0 10533M   279M sbwait 15   0:01  6.79% postgres
  3033 pgsql       1  64    0 10533M   279M semwai  6   0:01  6.69% postgres
  3038 pgsql       1  64    0 10533M   283M CPU5   13   0:01  6.69% postgres
  3037 pgsql       1  62    0 10533M   279M sbwait 23   0:01  6.69% postgres
  3048 pgsql       1  65    0 10533M   280M semwai  4   0:01  6.69% postgres
  3056 pgsql       1  65    0 10533M   277M semwai  1   0:01  6.69% postgres
  3002 pgsql       1  62    0 10533M   284M CPU19   0   0:01  6.59% postgres
  3042 pgsql       1  63    0 10533M   279M semwai 21   0:01  6.59% postgres
  3029 pgsql       1  63    0 10533M   277M semwai 23   0:01  6.59% postgres
  3046 pgsql       1  63    0 10533M   278M RUN     5   0:01  6.59% postgres
  3036 pgsql       1  63    0 10533M   278M CPU1   12   0:01  6.59% postgres
  3051 pgsql       1  63    0 10533M   277M semwai  1   0:01  6.59% postgres
  3030 pgsql       1  63    0 10533M   281M semwai  1   0:01  6.49% postgres
  3050 pgsql       1  60    0 10533M   276M semwai  1   0:01  6.49% postgres

The "sbwait" part is from FreeBSD - IPC sockets, but so much blocking on
semwait indicates large contention in PostgreSQL.

В списке pgsql-performance по дате отправления:

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: Query Performance SQL Server vs. Postgresql
Следующее
От: "Kevin Grittner"
Дата:
Сообщение: Re: Performance under contention