[forge-dev] Improving the performance of weld for micro-deployments.
Lincoln Baxter, III
lincolnbaxter at gmail.com
Tue Jan 29 17:37:25 EST 2013
Okay, good to know. What kind of info would you need to get into things?
Also, any idea why the report says that my Bootstrap.main(String[]) is
called over 1000 times? Seems a bit odd to me. This method literally does a
little string parsing, then calls starts Forge in a Thread (and waits for
that thread to finish.)
On Tue, Jan 29, 2013 at 5:33 PM, Stuart Douglas
<stuart.w.douglas at gmail.com>wrote:
> 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@**gmail.com<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."
>>
>
--
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/c48b34e4/attachment-0001.html
More information about the forge-dev
mailing list