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

Performance drops with restlet sync vs async client handler (report from Apache Camel) #996

Open
davsclaus opened this Issue Dec 11, 2014 · 3 comments

Comments

Projects
None yet
4 participants
@davsclaus

davsclaus commented Dec 11, 2014

Sorry for creating a ticket here at github, but this is very fast and easy to get in touch.

We got reports at Apache Camel that upgrading from restlet 2.1.x to 2.2.x has caused performance drawbacks from users.

We haven't had time to look into this. But just wanted the heads up here.

http://camel.465427.n5.nabble.com/Delayed-request-processing-with-Camel-Restlet-2-14-0-td5759915.html

I suspect the issue is that when we upgraded to Restlet 2.2.x we also enabled the async routing support from restlet by default. Where as that is disabled (not in use) in the older Camel version that are using restlet 2.1.x

The new version with async (that has performance drops)
https://github.com/apache/camel/blob/master/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletProducer.java#L87

The old version with sync (that performs well)
https://github.com/apache/camel/blob/camel-2.13.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletProducer.java#L89

Wonder if the restlet community is using the async variation? Or maybe there is some configuration settings that we have not set correct in Apache Camel or by the end users?

@glaforge

This comment has been minimized.

Show comment
Hide comment
@glaforge

glaforge Feb 20, 2015

Hi Claus!
Out of curiosity, did you further investigate this on your side?
Have you ended up switching back to sync instead of async?

glaforge commented Feb 20, 2015

Hi Claus!
Out of curiosity, did you further investigate this on your side?
Have you ended up switching back to sync instead of async?

@davsclaus

This comment has been minimized.

Show comment
Hide comment
@davsclaus

davsclaus Feb 20, 2015

@glaforge I haven't heard any word from the restlet guys.

What we did at Apache Camel was adding a note on our docs, and making it easy to turn on sync mode by default on the component level.
http://camel.apache.org/restlet

We have in the past before encountered a severe issue with the restlet async api - where it would not issue a callback under special use-case. But that has been fixed
#871

davsclaus commented Feb 20, 2015

@glaforge I haven't heard any word from the restlet guys.

What we did at Apache Camel was adding a note on our docs, and making it easy to turn on sync mode by default on the component level.
http://camel.apache.org/restlet

We have in the past before encountered a severe issue with the restlet async api - where it would not issue a callback under special use-case. But that has been fixed
#871

@jlouvel

This comment has been minimized.

Show comment
Hide comment
@jlouvel

jlouvel Feb 27, 2017

Member

For version 3.0 of Restlet Framework, we are relying on Netty 4.1 which will bring much better async performance. Stay tuned...

Member

jlouvel commented Feb 27, 2017

For version 3.0 of Restlet Framework, we are relying on Netty 4.1 which will bring much better async performance. Stay tuned...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment