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

Stuart Douglas stuart.w.douglas at gmail.com
Tue Jan 29 17:33:43 EST 2013


Tracing is pretty useless at identifying slow parts, as the overhead it 
adds distorts the profile too much. The only thing it is really good for 
is identifying methods that are called too often.

Sampling is generally much better.


Stuart

Lincoln Baxter, III wrote:
> What kind of information do you need? I was unable to get YourKit to
> dump a .snapshot file for some reason. If that's what you need, I can
> try again. Which profile mode? This was done using tracing.
>
> Thanks!
>
>
> On Tue, Jan 29, 2013 at 4:32 PM, Stuart Douglas
> <stuart.w.douglas at gmail.com <mailto:stuart.w.douglas at gmail.com>> wrote:
>
>     The screenshot does not really tell us much. We would need to see
>     the actual profile information.
>
>     Stuart
>
>
>     Lincoln Baxter, III wrote:
>
>         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."
>
>
>
>
> --
> Lincoln Baxter, III
> http://ocpsoft.org
> "Simpler is better."


More information about the forge-dev mailing list