Начнём прогрев. От чистой базы однопоточный режим выдаёт 112тпс. Отлично
Вернёмся к нашим предыдущим бенчмаркам. Очень неравномерные значения.
pgbench -c 80 -U postgres -T 30
1000-1400 тпс выдало. Повторить этот результат даже не удалось. Всё время грузился диск.
Теперь тоже с параметром -С - чтобы создавались каждый раз новый подключения.
latency average: 640.854 ms
tps = 124.538621 (including connections establishing)
tps = 5205.394150 (excluding connections establishing)
Очень мало. Очень!
Итак. Даём начальные данные.
Число коннектов активных в постгрес - 100
Число активных коннектов в баунсере - 80
Режим баунсера - сессионный.
Команда маленько поменяется
pgbench -U postgres -p6432 -U tmp -T 10
115 тпс! Прекрасно!
Теперь добавим юзеров - в 80 коннектов
1000-1300тпс. Наверно нелпохо. Т.к. всё очень скачет
Самое важное - попробуем теперь каждый раз создавать новый коннект!
tps = 598.120886 (including connections establishing)
tps = 1282.184457 (excluding connections establishing)
В целом неплохо. Как раз результат такой же, только коннекты теперь в приложении можно открывать/закрывать как новые. Плохо только что статистика показывает большой статус по простаиванию.
Попробуем 200 коннектов!
latency average: 197.485 ms
tps = 1004.205619 (including connections establishing)
tps = 1011.058380 (excluding connections establishing)
И это прекрасно! Имея всего 80 коннектов максимально доступных в постгрес мы можем обслуживать и 200 клиентов!
С установлением нового коннекта
latency average: 352.464 ms
tps = 562.867521 (including connections establishing)
tps = 1095.836196 (excluding connections establishing)
Подготовим инфу для селект запросов для дальнейшего теста веб приложения.
400-600 селектов через баунсер в один поток
1700-1800 селектов через баунсер в 50 потоков
latency average: 26.319 ms
tps = 1829.153870 (including connections establishing)
tps = 1838.549638 (excluding connections establishing)
Вернёмся к нашим предыдущим бенчмаркам. Очень неравномерные значения.
pgbench -c 80 -U postgres -T 30
1000-1400 тпс выдало. Повторить этот результат даже не удалось. Всё время грузился диск.
Теперь тоже с параметром -С - чтобы создавались каждый раз новый подключения.
latency average: 640.854 ms
tps = 124.538621 (including connections establishing)
tps = 5205.394150 (excluding connections establishing)
Очень мало. Очень!
Итак. Даём начальные данные.
Число коннектов активных в постгрес - 100
Число активных коннектов в баунсере - 80
Режим баунсера - сессионный.
Команда маленько поменяется
pgbench -U postgres -p6432 -U tmp -T 10
115 тпс! Прекрасно!
Теперь добавим юзеров - в 80 коннектов
1000-1300тпс. Наверно нелпохо. Т.к. всё очень скачет
Самое важное - попробуем теперь каждый раз создавать новый коннект!
tps = 598.120886 (including connections establishing)
tps = 1282.184457 (excluding connections establishing)
В целом неплохо. Как раз результат такой же, только коннекты теперь в приложении можно открывать/закрывать как новые. Плохо только что статистика показывает большой статус по простаиванию.
Попробуем 200 коннектов!
latency average: 197.485 ms
tps = 1004.205619 (including connections establishing)
tps = 1011.058380 (excluding connections establishing)
И это прекрасно! Имея всего 80 коннектов максимально доступных в постгрес мы можем обслуживать и 200 клиентов!
С установлением нового коннекта
latency average: 352.464 ms
tps = 562.867521 (including connections establishing)
tps = 1095.836196 (excluding connections establishing)
Подготовим инфу для селект запросов для дальнейшего теста веб приложения.
400-600 селектов через баунсер в один поток
1700-1800 селектов через баунсер в 50 потоков
latency average: 26.319 ms
tps = 1829.153870 (including connections establishing)
tps = 1838.549638 (excluding connections establishing)