-
Notifications
You must be signed in to change notification settings - Fork 408
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
Add local_file_server #237
Conversation
56db0f8
to
e04a776
Compare
Took a bit longer to finalise this change. Do you mind to take a look @nniclausse? I'm a bit unhappy about the very similar code for the distributed vs non-distributed initialisation, but maybe you have a good idea how to make this better. |
local_file_server is an alternative to the current file_server. It will distribute given files on start to all nodes and returns lines on request local to the requestor. This removes a tsung global bottleneck because there is now one gen_server per worker and per file.
e04a776
to
6177ca7
Compare
Hi ! |
Great! I've changed the base branch to |
This is an awesome patch, hope to see it merged soon ! |
Hey @nniclausse! Did you get a chance to take a look at this change set? We've been using this for a while now, while it increases the start up time a bit and also memory usage, it has proven to work very well for for higher load scenarios when there is a lot of access to file servers. |
Hi. Not yet unfortunately. Hopefully, i'll have some free time next week to do Pull Requests reviews and merge ! |
OK, i did a quick review and that seems OK for me. The only missing part is the documentation |
Okay, nice! I'll write something up so that we can get this out too. |
local_file_server
is an alternative to the currentfile_server
. It will distribute given files on start to all nodes and returns lines on request local to the requestor. This removes a severe bottleneck in tsung because there is now one gen_server per worker and per file. Withfile_server
everything has to go though the controller which does not scale at all.local_file_server
works almost the same was the normalfile_server
. For obvious reasons (no global coordination), no global sequential access is possible.Usage
local_file_server
definition:Accessing the
local_file_server
; Note that there is no support fororder
as sequential order cannot be guaranteed to the distributed nature of thelocal_file_server
.