[forge-dev] Improving the performance of weld for micro-deployments.

Lincoln Baxter, III lincolnbaxter at gmail.com
Tue Jan 29 13:19:03 EST 2013


Hi Jozef, Stuart, and Weld-devs,

In Forge 2 we are using Weld extensively, and one of the things we do is
start up many instances simultaneously.

We may have anywhere from one to one-hundred or more weld instances.
Currently we have only seen around 10-12 instances, and performance is
"Okay", but in theory, we could see hundreds of instances, at which point,
performance starts to be a concern. We're working around this problem by
disabling CDI support on some internal addons, but... it's not really
reasonable to expect that everyone will do this.

Which means... we need to figure out how to shave as much time off the
bootstrap as possible. Currently each weld instance takes anywhere from
80ms to 450ms to start (not really sure why such variation yet,) and we'd
hopefully like to get that down even lower, around 10-20ms. Classloading
time only would be optimal, but obviously difficult to achieve.


How can we get the most speed out of Weld? Most of our deployments have
only ~15 bean classes at most. It seems like a lot of time (~30-40%) is
being spent in the Google concurrent collections.

(Screenshot attached.)

Thanks,

-- 
Lincoln Baxter, III
http://ocpsoft.org
"Simpler is better."
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20130129/2edf359a/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2013-01-29 at 1.17.22 PM.png
Type: image/png
Size: 237586 bytes
Desc: not available
Url : http://lists.jboss.org/pipermail/forge-dev/attachments/20130129/2edf359a/attachment-0001.png 


More information about the forge-dev mailing list