java-driver
java-driver copied to clipboard
Optimize NettyChannel usage
From https://scylladb-users.slack.com/archives/C2NLNBXLN/p1725297082189579?thread_ts=1725284973.161149&cid=C2NLNBXLN
It seems I found the reason. Scylla driver will create connection per shard. It means if you have 3 nodes with 8 CPU it will create 24 connections https://github.com/scylladb/java-driver/blob/scylla-4.x/core/src/main/java/com/datastax/oss/driver/internal/core/pool/ChannelPool.java#L489
The problem here that's scylla driver creating
- It leads to very poor client performance, since you have dedicated Selector loop only for one TCP socket. For example, 150k rps using cassandra driver consumes 1 CPU on client side, but using scylla driver consumes 6 CPU.
- It's better to specify that "advanced.connection.pool.local.size" configuration behaves different