Radhakrishna
Radhakrishna

Reputation: 1506

Production grade Cassandra client configuration for Java application

My application runs with more than 100 transactions per second in production. I would like to know the configuration should be used to achieve this.

In non Prod environment i am using the cluster with DCAwareLoadBalancingPolocy and consistency level as LOCAL_QUORUM.

All remaining configuration is left as default.

Is the default configuration enough or i need to specify all the connection options like pooling options, socket options, consistency level, etc.,

PS: Cassandra version 3 Please suggest how to scale it.

Upvotes: 0

Views: 90

Answers (1)

Alex Ott
Alex Ott

Reputation: 87119

The Java driver defaults are quite good, especially for that load. You need to use DCAware/TokenAware load balancing policy that is default. You may tune the connection pooling to allow more "in-flight" requests per single connection. You need to have only single instance of the Session class per application to avoid opening too many connections to cluster. The real performance gain comes from using the asynchronous operations, and having lower consistency level, like, LOCAL_ONE (but this is application specific).

Upvotes: 2

Related Questions