On Thu, Sep 12, 2013 at 5:19 PM, Bartłomiej Wójcik <
bar...@tu...> wrote:
> Hello,
>
> When I add every new node to my cluster the performance of the entire
> cluster decreases by 20 percent.
>
> Cluster scheme:
>
> Host1(vm1, IP1, 2core 4GB ram): gtm
> Host2(vm2, IP2, 2core 4GB ram): 1 gtm_proxy + 1 coordinator + 1 datanode
> Host3(vm3, IP3, 2core 4GB ram): 1 gtm_proxy + 1 coordinator + 1 datanode
> Host4(vm4, IP4, 2core 4GB ram): 1 gtm_proxy + 1 coordinator + 1 datanode
>
> I run pgbench (-S) and getting: ~1200 tps (on each)
>
> when I use (host1 and host2 and host3) the result is: ~1500 tps (on each)
>
> when I use (host 1 and host 2) the result is: ~1800 tps
>
>
> Is this normal behavior ?
>
Are you using pgbench supplied with the XC ? If so, AFAIR pgbench has been
modified to distribute the pgbench_accounts table on "bid" field. This was
done to improve pgbench TPCC queries. I can see that it can adversely
affect the -S case though.
Can you try using the pgbench supplied with stock Postgres ? The automatic
distribution will cause the pgbench_accounts table being distributed on the
"aid" which is also the column used in WHERE clause of the select only
queries of -S option. I would expect no performance drop in that case.
Whether you can get a performance improvement with additional nodes will
depend on the workload though. You really want to have a work load which
can not fit your single server. IOW a scale factor such that the entire
pgbench_accounts table does not fit the RAM of a single server will be
appropriate. You would also want to run the test long enough so that shared
buffers are populated with the data.
Thanks,
Pavan
--
Pavan Deolasee
http://www.linkedin.com/in/pavandeolasee
|