Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nginx auto batching feature for higher client & tarantool performance #67

Open
simonhf opened this issue Oct 21, 2016 · 3 comments
Open
Assignees
Labels
enhancement help wanted Extra attention is needed

Comments

@simonhf
Copy link

simonhf commented Oct 21, 2016

Experiments have shown [1] that tarantool deals much better with transactions with batches of operations rather than lots of individual operations... and that's not even with the network layer playing a factor.

I have very many PHP processes which want to each make many individual operations... which isn't the best for tarantool performance.

How about a feature in the nginx_upstream_module which does the following for certain types of HTTP requests which only write to tarantool and don't have to return any data:

  1. Reads HTTP request from client.
  2. Queues up tarantool upstream request for forwarding upstream to tarantool.
  3. Immediately replies via HTTP saying "thank you, request received".
  4. Later when a certain buffer size is reached or an elapsed time threshold is reached, a batch of queued requests is forward upstream to tarantool and processed more efficiently as a transaction?

Note: This feature is only for users who don't care about certain writes to tarantool happening in absolutely real time...

[1] https://gist.github.com/simonhf/e7c2f40d36f1a4bdedfffa40c575b63b

@dedok dedok self-assigned this Oct 24, 2016
@dedok dedok added this to the v0.2.4 milestone Oct 24, 2016
@dedok
Copy link
Contributor

dedok commented Oct 24, 2016

Yep this is possible. Also If I implement this, you'll see better performance, better latency and less CPU usage (at nginx side). I've moved the issue to the next milestone.

Thanks for an idea!

@dedok dedok added the help wanted Extra attention is needed label Jan 7, 2018
@dedok dedok removed this from the v2.6 milestone Jan 7, 2018
@jobs-git
Copy link

any progress?

@Totktonada
Copy link
Member

We have no planned works regarding the upstream module in a near future. You can open a pull request or contact with our commercial support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants