Тест Postgres 11.9 DB

#postgresql-11

#postgresql-11

Вопрос:

Я пытаюсь протестировать PostgresDB на виртуальной машине Redhat Linux OS с 4-ядерным процессором и 16 ГБ памяти.

используя эту документацию https://www.postgresql.org/docs/11/pgbench.html

Преобразование может быть набором инструкций sql.

Ниже приведены результаты тестирования

 Test 1

1 Transaction is 1- Query, 1 – insert , 3 -updates

scaling factor: 10
query mode: simple
number of clients: 10
number of threads: 2
number of transactions per client: 10000
number of transactions actually processed: 100000/100000
latency average = 105.812 ms
tps = 94.507634 (including connections establishing)
tps = 94.507961 (excluding connections establishing)

scaling factor: 10
query mode: simple
number of clients: 4
number of threads: 2
number of transactions per client: 10000
number of transactions actually processed: 40000/40000
latency average = 15.667 ms
tps = 255.315579 (including connections establishing)
tps = 255.321942 (excluding connections establishing)

Test 2

1 Transaction is 1- Query , 1 – update , 1- insert

scaling factor: 10
query mode: simple
number of clients: 10
number of threads: 2
number of transactions per client: 10000
number of transactions actually processed: 100000/100000
latency average = 87.134 ms
tps = 114.766068 (including connections establishing)
tps = 114.766546 (excluding connections establishing)

scaling factor: 10
query mode: simple
number of clients: 4
number of threads: 2
number of transactions per client: 10000
number of transactions actually processed: 40000/40000
latency average = 13.067 ms
tps = 306.121787 (including connections establishing)
tps = 306.131759 (excluding connections establishing)
  

Как мы интерпретируем эти приведенные выше результаты.

Мы смотрим, способен ли postgres обрабатывать 5000 TPS. 1TPS (2 простых запроса с первичным ключом 2 обновления (вставки)).

Комментарии:

1. Что, если вы запустите его с большим количеством клиентов? например, 100 и, возможно, 8 потоков?

2. Согласно документации pgbench. потоки должны быть равны или меньше cpu, а клиенты могут иметь несколько размеров cpu.

3. Вопрос в том, получаете ли вы больше TPS, если увеличиваете количество клиентов / потоков?