Netflix / dynomite

A generic dynamo implementation for different k-v storage engines
Apache License 2.0
4.2k stars 533 forks source link

Number of connections in dynomite is not same as Redis #645

Closed ghost closed 5 years ago

ghost commented 5 years ago

I gave number of connections per host is 10 connections , I observed dynomite taking 10 connections and when I check redis it is taking only 2 connections

balajivenki commented 5 years ago

Yes that's expected. The clients connect to dynomite and not to redis. Only dynomite connects to redis. This is expected behavior

ghost commented 5 years ago

@balajivenki . Generally based on requests. we configured the number of connections per host. Each request coming to dynomite in a node must and should goes to redis. Is wont be a issue at all ? I had anthor doubt @balajivenki please clarify. I build 3 racks and each rack consists two nodes. if I will need 9000 connections. How can I configure number of connections per host.

balajivenki commented 5 years ago

Yes dynomite acts as a proxy here and get the response from redis and pass it along. Not sure why you would need 9k connections here but connection are per client and if you are using dyno Java client then it has maxConnectionsPerHost option as connection pool and you can use that. Please note that each connection is a fd and olif you do not close it properly and soon you will end up fd limit exceeding.

smukil commented 5 years ago

Thanks for helping with the issues @balajivenki !

@chinmayvenkat To reiterate what @balajivenki said, Dynomite maintains a fixed number of connections to Redis regardless of how many clients are connected to Dynomite.

Closing this, please reopen if you have further questions.