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

send messages using a lmax disruptor instead of a blockng queue #10

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

michaelsembwever
Copy link

| This gives a significant performance increase in highly multithreaded jvms.
| http://lmax-exchange.github.io/disruptor/
|
| The lmax disruptor's ringBuffer size is initialised to 16k.
| Rationale here is that statsd msgs are short strings, and sending 10k/s is a normal use-case.
| If the Handler thread fails to send out the udp packets fast enough
| (given it also squashes statsd messages into available MTU space)
| and the ringBuffer becomes full then new statsd messages will be dropped and
| a InsufficientCapacityException passed to the exception handler…
|
| Exceptions from the lmax disruptor and handler are passed through to the exception handler.
| Throwables from the lmax disruptor are logged as SEVERE.

This branch is based off bugfix/vanilla-statsd-time-semantics which includes the commit in #8

michaelsembwever and others added 3 commits April 30, 2014 19:00
This gives a significant performance increase in highly multithreaded jvms.
 http://lmax-exchange.github.io/disruptor/

The lmax disruptor's ringBuffer size is initialised to 16k.
Rationale here is that statsd msgs are short strings, and sending 10k/s is a normal use-case.
If the Handler thread fails to send out the udp packets fast enough
  (given it also squashes statsd messages into available MTU space)
 and the ringBuffer becomes full then new statsd messages will be dropped and
 a InsufficientCapacityException passed to the exception handler…

Exceptions from the lmax disruptor and handler are passed through to the exception handler.
Throwables from the lmax disruptor are logged as SEVERE.
default is 16k msgs maximum.
…atsDClient.ringBufferSize" system property. Its value must be over 128.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant