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_serveris 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_servereverything has to go though the controller which does not scale at all.local_file_serverworks almost the same was the normalfile_server. For obvious reasons (no global coordination), no global sequential access is possible.Usage
local_file_serverdefinition:Accessing the
local_file_server; Note that there is no support fororderas sequential order cannot be guaranteed to the distributed nature of thelocal_file_server.