Our limits / Tarantool tests

Well, I got results from many benchmarks of different Python web frameworks. I chose Japronto as the ideal option for my theoretical tests in the localhost environment. Let’s see what Tarantool can do with this “slow” and “cheating” Python.

Buzz words for Tarantool tests

  • select-sync - sync function that selects top 9 stickers and handles a request with a simple text response (within it, I don’t even return Tarantool’s select result to a local variable).
  • select-async - same as above, but using an async version of select.
  • select-async-lite - same as select-async, but not using an iterator in select.
  • upsert-async - same as select-async, but using upsert.

Tarantool test results

Conclusions:

  • Theoretically, you can’t get more than 15k RPS with a single Tarantool select statement. However, this is a great result. Every calculation made when selecting data decreases your RPS.
  • If you use an iterator, or you could say a sorted result set, there’s no performance decrease (at least for a table with 16k records).
  • Upsert is more expensive: I get only 10k RPS; however, this is a great result. A simple insert statement might be faster (try it by yourselves).
  • I tried pipelining with a sync version of the select statement and got about 9k RPS. Both with and without pipelining, the async version was almost 2 times faster.

results matching ""

    No results matching ""