我已经建立了一个Citus环境。(Citus 7.2.2, Postgres 10.12)1) 1x coordinator node2) 5x worker nodes3) (2GB mem和2cores VM's for each of the 6 nodes)
我使用了内置 sql 的 pgbench(例如 simple-update, select-only, tpc-b)。 当我把工作节点从1个增加到5个时,tps只增加了不到1-10%(取决于客户机的数量和硬盘或SSD上的WAL)。
当使用SELECT进行基准测试时,协调器虚拟机的负载可以达到60+,而其他两种SQL类型的负载只有2个左右。 工人节点的负载总是在1左右,磁盘IO在500-2000 iosec之间。
这个结果是否正确? 我可以做什么来提高性能?
谢谢,大卫
对于规模因子为1的表将有。
table # of rows
---------------------------------
pgbench_branches 1
pgbench_tellers 10
pgbench_accounts 100000
pgbench_history 0
https:/www.postgresql.orgdocscurrentpgbench.html
所以缩放因子30,在pgbench_accounts中会有3M行,按照jjanes的建议,这可能会适合一个节点的内存。
而你有5个worker节点,所以你肯定可以把缩放因子提高很多。当数据不适合单个节点的内存时,你应该会看到citus的不同。