Forum: Other

Post: connection time to voltdb cluster

connection time to voltdb cluster
Feb 27, 2017

I'm Fred and I'm testing voltdb.
I'm worried about connection time to voltdb cluster.

I use distant VMs and each machine have the same environement. I use one to run mysql and 3 others to run voltdb cluster.
I'm calculating time connection, so I run this command to know execution time from a client:

date +"%Y%m%d%H%M%S.%N" && echo "Select current_timestamp() from resources limit 1;" | sqlcmd --servers=serveur && date +"%Y%m%d%H%M%S.%N"

For Voltdb cluster, it spends 20ms to execute the command, but for the client this command spends 870ms. So there is 850ms used to connect to voltdb cluster? I find this delay very important. The ping between client and host is only 0.120ms.
When I try a similar test with mysql, it spends only 12ms for the client.

Is it normal to have a huge connection time? If it's not, what parameters have to be managed to decrease connection time?

thanks for your attention,

Feb 27, 2017
Hi Fred,

There is an intentional delay with creating a connection for security purposes to prevent brute force attacks. For this reason, establishing a new connection over sqlcmd may not be consistent in terms of how many ms it takes, and adds a significant delay that would make measuring the difference in time more difficult.

When you say "distant VMs" do you mean they are not necessarily close to eachother within a data center, or do you mean geographically distant?

A VoltDB cluster requires that its nodes have clocks within 200ms of eachother, and ideally this should be as close as possible to prevent undue delays in some coordinated activities such as when a snapshot is initiated. We recommend running NTP on VoltDB servers to maintain the clocks as close as possible.

If you need to run VoltDB across various geographic locations, you may be interested in the new multi-cluster Cross-Datacenter Replication (XDCR) feature in VoltDB V7.0. This version extends support for active replication to three or more clusters.
Mar 1, 2017
Hi Ben and thanks for your quick reply.

I use geographical distant VMs from me but all the VMs are close to eachother.
I use NTP to synchronize my voltdb cluster.

So if sqlcmd is so slow, you say it's normal because voltdb put a delay for security issue. But is there a way to customize the maximum delay for establishing a new connection to VoltDb using sqlcmd ? I mean, almost 1 sec to establish the connection, in my use case it just defeats the purpose of using VoltDb.