|
From: Pavan D. <pav...@gm...> - 2013-09-12 12:02:26
|
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 |