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

RabbitMQ transport is sending events too slow #323

Closed
tomkregenbild opened this issue Jul 7, 2015 · 7 comments
Closed

RabbitMQ transport is sending events too slow #323

tomkregenbild opened this issue Jul 7, 2015 · 7 comments

Comments

@tomkregenbild
Copy link

I encountered a problem that when I deliver large amounts of log files from one server to RabbitMQ, I don't get all the events and in some cases I have to restart Beaver in order for it to start sending the events again.

After playing with the run_queue.py file I managed to print the number transports to RabbitMQ vs the number of events in the internal Queue of beaver and I see that the internal queue is feeling up pretty quickly with a ratio of about 1:4 of values entering the Queue and values transported to RabbitMQ.

Is there a way to improve the performance here? maybe increase the number of thread dealing with the transport?

tomkregenbild pushed a commit to tomkregenbild/python-beaver that referenced this issue Jul 7, 2015
…er transports in debug mode in order to find problem in transport rate.
tomkregenbild pushed a commit to tomkregenbild/python-beaver that referenced this issue Jul 7, 2015
…onsumers by creating additional processes.
@josegonzalez
Copy link
Member

Maybe don't use a blocking connection?

tomkregenbild pushed a commit to tomkregenbild/python-beaver that referenced this issue Jul 9, 2015
…onsumers by creating additional processes while running with --experimental flag
@tomkregenbild
Copy link
Author

@josegonzalez Sounds like a good idea - I'll try to implement it

tomkregenbild pushed a commit to tomkregenbild/python-beaver that referenced this issue Jul 22, 2015
…nnection instead of BlockingConnection for better performance.
tomkregenbild pushed a commit to tomkregenbild/python-beaver that referenced this issue Jul 22, 2015
1. Add clear debug prints with queue size (one print every 1000 items in order not to hurt performance)
2. If main queue is empty keep running and do nothing
3. In case of a timeout from main queue restart queue
tomkregenbild pushed a commit to tomkregenbild/python-beaver that referenced this issue Jul 22, 2015
tomkregenbild pushed a commit to tomkregenbild/python-beaver that referenced this issue Jul 26, 2015
josegonzalez added a commit that referenced this issue Jul 27, 2015
#323 RabbitMQ transport is sending events too slow
@timstoop
Copy link
Contributor

@tomkregenbild Did this solve your problem? I'd like to know if I should test your changes as well, since we're more or less running into this as well.

@tomkregenbild
Copy link
Author

@timstoop adding more cosumer processes did help us a lot

the parameter is "number_of_consumer_processes" - also running with --debug will allow you to see the queue sizes and number of transported events so you'll be able to analyze your problem.

@timstoop
Copy link
Contributor

@tomkregenbild You did not get a benefit from no longer using Blocking Connections? Just asking, since this exact problem is also discussed in #265, hence I thought it might make a large difference.

@tomkregenbild
Copy link
Author

@timstoop from what I saw it was a little better but nothing too extraordinary.

@JamieCressey
Copy link
Member

Duplicate of #265

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

No branches or pull requests

4 participants