JAX-WS slow on AppEngine
Asked Answered
W

1

8

I am working on a client APP which communicated with the third party API though SOAP. The App runs fine on my local machine but becomes slow by 10x on uploading to AppEngine, on further investigation it was found that its the underlying jax-ws used by the client library which is causing the slow down.

One important thing was on increasing the number of instances the performance increases significantly but in that case the instance consumes more resources.

I cannot find any solution to this problem any guidance would be helpful.

PS: The client library I am using is this.

Waxman answered 3/10, 2016 at 18:11 Comment(7)
Hey Vivek! We'd love to help but need more information to do so. Can you show us any relevant code (like how you're actually calling the API)?Oratorical
@WillHayworth you can look at the client library link I gave you. It uses jax-ws internally and sadly its working pathetic when I upload my app on AppEngine. Surprisingly on increasing instances it speeds up significantly.Waxman
I was asking about your code that calls the client.Oratorical
this example here. I have just copied the same example in my code.Waxman
That still doesn't provide much context with respect to other libraries that you might be using or how they're interacting, and it's also not clear what kind of performance differential you're seeing or how it's measured.Oratorical
Can you see performance of the JVM remotely with JVisualVM or JRockit?Provo
@WillHayworth I found some related bug here code.google.com/p/googleappengine/issues/detail?id=7706Waxman
U
0

SOAP in general is considered a slow and bloated serialization technology; you'll likely have better performance with JSON.

Your local computer is probably much more powerful than a single app engine instance; this has been my experience.

App Engine is probably not a great environment for heavy weight frameworks like SOAP, Spring, etc... which tend to offer lots a features at a cost using lots of resources. App Engine is designed to scale quickly and these frameworks have slow start up times.

I would suggest sticking with a basic REST/JSON architecture, or moving to compute engine which allows you to adjust the compute size.

Unpolitic answered 14/12, 2016 at 13:56 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.