go-tarantool icon indicating copy to clipboard operation
go-tarantool copied to clipboard

What is about pipelining?

Open Eugene-Usachev opened this issue 1 year ago • 7 comments

I benchmarked Tarantool and Redis. Tarantool overtakes Redis only before using pipelining. With pipelining, Redis becomes more than 3 times faster than Tarantool. Is it possible to use pipelining with Tarantool?

Eugene-Usachev avatar Aug 16 '23 18:08 Eugene-Usachev

https://github.com/tarantool/go-tarantool/issues/327#issuecomment-1674863336

R-omk avatar Aug 16 '23 18:08 R-omk

R-omk, I know it. But I need benchmark DBMS with network, because I will use DBMS with it. To squeeze more performance out of the DBMS, I need to reduce the load on the network, the ideal solution is pipelining. I read the connector documentation and couldn't find any mention of pipelining, which makes me opt for Redis.

Eugene-Usachev avatar Aug 16 '23 19:08 Eugene-Usachev

The tarantool is not the redis, it is much much faster, if the queries are independent they need to be executed in parallel, if they are dependent then write stored procedures on the server side and call func from client.

R-omk avatar Aug 16 '23 20:08 R-omk

what is called "pipeline" in redis works automatically out of the box in this driver . this is a multiplexing of any requests, you never have to wait for the result of the previous one in order to send the next one. Please look at benchmarks test.

R-omk avatar Aug 16 '23 20:08 R-omk

@R-omk thank you. @Eugene-Usachev you should execute requests in parallel for the best performance. The connector supports concurrent request execution by itself, see opts.Concurrency .

I think it's a good idea to write a parallel request execution example that we can refer to.

oleg-jukovec avatar Aug 17 '23 07:08 oleg-jukovec

@R-omk thank you for your time. I close the issue.

Eugene-Usachev avatar Aug 17 '23 14:08 Eugene-Usachev

I think it's a good idea to write a parallel request execution example that we can refer to.

oleg-jukovec avatar Aug 17 '23 14:08 oleg-jukovec