Citus не масштабируется в моей тестовой среде - PullRequest
0 голосов
/ 17 марта 2020

У меня настроена среда Citus: (Citus 7.2.2, Postgres 10.12) 1) 1x узел-координатор 2) 5x рабочих узлов 3) (по 2 ГБ памяти и 2 ядра для каждого из 6 узлов)

Я использовал pgbench со встроенным sql (например, simple-update, select-only, tp c -b). Поскольку я добавил рабочие узлы от одного до 5, количество операций в секунду увеличивается только менее чем на 1-10% (зависит от количества клиентов и WAL на жестком диске или ssd).

При сравнительном анализе SELECT загрузка виртуальной машины координатора может go до 60+, с другими 2 типами SQL нагрузка составляет только 2 или около того. Рабочие узлы всегда загружаются примерно на 1, а дисковый ввод-вывод составляет от 500 до 2000 операций ввода-вывода c

Это звучит правильно? Что я могу сделать, чтобы улучшить производительность?

Спасибо, Дэвид

1 Ответ

0 голосов
/ 08 мая 2020

Для масштабного коэффициента 1 таблицы будут иметь:

table                   # of rows
---------------------------------
pgbench_branches        1
pgbench_tellers         10
pgbench_accounts        100000
pgbench_history         0

https://www.postgresql.org/docs/current/pgbench.html

Таким образом, коэффициент масштабирования 30 будет иметь 3M строк в pgbench_accounts, что вероятно, поместится в память одного узла, как предложено jjanes.

И у вас есть 5 рабочих узлов, так что вы определенно можете увеличить коэффициент масштабирования гораздо больше. Когда данные не помещаются в память одного узла, вы должны увидеть разницу с citus.

...