Skip to content

postgres client connection error при одновременном подключении 1000 клиентов

Picodata релиз 24.6.0-157-g1a553992 Запущена в контейнере Proxmox Fedora 39, 1 ядро CPU, 6 Гигабайт ОЗУ командой: picodata-24-6-0-157 run --data-dir ~/picoinstances/pgbench --listen 0.0.0.0:3301 --pg-listen 0.0.0.0:5432 --init-replication-factor 1 --failure-domain DC=MSK --http-listen 0.0.0.0:8001 -i --memtx-memory 4294967296

На него натравлено тестирование производительности потоком из 1000 клиентов командой: pgbench postgres://postgres:Postgres13@10.5.1.122:5432/benchmark?sslmode=disable -c 1000 -j 10 -P 10 -T 60 -n -s 100 -f voltest.sql

Скрипт тестирования:

cat voltest.sql

\set myscale 100 \set aid (random(1, 100000 * :myscale)) \set tid (random(1, 10 * :myscale)) \set bid (random(1, 1 * :myscale)) \set delta random(-5000, 5000) UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid; SELECT abalance FROM pgbench_accounts WHERE aid = :aid; UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid; UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid; INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, NULL);

При попытке соединения по сети с picodata одновременно 1000 клиентов по протоколу postgres в консоли picodata возникли многочисленные ошибки: 2024-10-07 07:00:47.194 [8917] main/1124/pgproto::client pgproto.rs:66 E> postgres client connection error: IO error: Broken pipe (os error 32)

В это же время pgbench выдал ошибку:

pgbench postgres://postgres:Postgres13@10.5.1.122:5432/benchmark?sslmode=disable -c 1000 -j 10 -P 10 -T 60 -n -s 100 -f voltest.sql

pgbench (15.6, server 15.0) pgbench: error: connection to server at "10.5.1.122", port 5432 failed: Connection refused Is the server running on that host and accepting TCP/IP connections? pgbench: error: could not create connection for client 192

ПРОБЛЕМА в том, что после этого при запуске pgbench с менньшим количеством клиентов, при котором тест проходил успешно, возникает ошибка:

pgbench postgres://postgres:Postgres13@10.5.1.122:5432/benchmark?sslmode=disable -c 100 -j 10 -P 10 -T 60 -n -s 100 -f voltest.sql

pgbench: error: connection to server at "10.5.1.122", port 5432 failed: Connection refused Is the server running on that host and accepting TCP/IP connections? pgbench: error: could not create connection for setup

При этом в консоли picodata никаких сообщений не выводится.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information