Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Virgo » Speeding up resolution and server start up
Speeding up resolution and server start up [message #531942] Thu, 06 May 2010 14:47 Go to next message
Dmitry Sklyut is currently offline Dmitry SklyutFriend
Messages: 279
Registered: January 2010
Senior Member
Hi All,

I think this issue will come up sooner than later and I would like to start a discussion early and maybe see if there are some ways to progressively adress it before initial Virgo release.

The issue I am talking about is related and very similar to this thread from dm-server forum: http://forum.springsource.org/showthread.php?t=86495&hig hlight=launcher.bundles

We are also noticing fairly significant start up time around 3 - 4 min (on OSX, windouz take longer as -clean takes much longer there) with final deployed bundle count around 190 (includes all third-party dependencies). The mix is fairly common in the enterprise apps. Hibernate/JPA (single session factory across all deployments), 3 webapps, some services bundles, datasource, activemq.

I strongly suspect that this situation is either because of the lag in service resolution between bundles or "side state" resolution. I will be trying to set-up all/most of common thirdparty deps in a plan and make sure that those are deployed early in user region start-up sequence to see if resolution happens faster.

I would also be happy to try and profile this process. I would like to start with a simple "StopWatch" type of a process that just tracks time that each individual bundle spends in ApplicationContext creation and try to correlate that with the over all start up scheme moving to a YourKit/JProfiler after that.

What would be the recommended areas of the system to look at in profiler? What should I be looking for outside of time spent and call count? Any pointers are welcomed as we are burning development time right now on start/update/restart cycle.

Regards,

Dmitry
Re: Speeding up resolution and server start up [message #531960 is a reply to message #531942] Thu, 06 May 2010 15:23 Go to previous messageGo to next message
Glyn Normington is currently offline Glyn NormingtonFriend
Messages: 1222
Registered: July 2009
Senior Member
I wonder if you have long chains of service dependencies which constrain the amount of parallelism that could be achieved? A trace would give some idea of the amount of overlap. Also, it depends how many CPUs and cores you have as to whether this is a real disadvantage. One experiment would be to introduce some optional service reference cardinalities to increase possible overlap.

Side state resolution shows up as high CPU in the relevant Equinox classes and should stick out like a sore thumb in a profiler. The Quasi Framework abstracts the side state, so look out for "Quasi" in profiler results.

File I/O may be a problem too and Nikolai's work on warm starting Equinox should help restart times here.

I'd be interested in anyone else's perspective on startup times as this is not something we've spent much time and effort on. Maybe if we had much slower machines, we'd have gotten round to this already.
Re: Speeding up resolution and server start up [message #531977 is a reply to message #531960] Thu, 06 May 2010 16:13 Go to previous messageGo to next message
Dmitry Sklyut is currently offline Dmitry SklyutFriend
Messages: 279
Registered: January 2010
Senior Member
Just to give a bit more perspective:
I am running on MacBook Pro. Core 2 duo model with 4 gig of ram. My co-workers on windouz machines are seeing longer start up times. I think mostly because of the -clean delete is horrible on windouz.

Running on version 2.0.0 of dm-server. I will also try 2.0.1 to see if there are any differences.

I am noticing significant cpu load during start up. Both cores spike up to 80-90%. Especially when deploying web apps. Removing 4 webapps (one slice host, 2 slice children, and one webservices web-app with spring-ws) cut start up by almost half.

Tracing is too verbose to figure out what exactly is going on. Can you recommend some targeted packages/classes to trace?

I will try to provide analysis sometime next week.
Re: Speeding up resolution and server start up [message #532987 is a reply to message #531977] Tue, 11 May 2010 18:39 Go to previous messageGo to next message
Peter  ardfj is currently offline Peter ardfjFriend
Messages: 19
Registered: July 2009
Junior Member
Dmitry and Glyn,

I am happy to see this issue being investigated.
I started the spring-dmserver forum thread you referred to earlier.

Thought I'd help investigate this issue by providing a simple Maven pom file that when executed (via "mvn clean package") gathers its dependency bundles in the target/dependencies directory and produces a .plan file under target/platform.plan for the dependencies in the pom file (except those with scope provided).

This makes it easy to create and experiment with plan files containing different bundle combinations:
(1) add the bundles you are interested in to the dependencies section
(2) execute "mvn clean package"
(3) Copy target/dependencies/* to $VIRGO_HOME/repository/usr
(4) Copy target/platform.plan to $VIRGO_HOME/pickup

The attached sample pom only contains five bundles (Apache Derby and EclipseLink). Still it takes 40 seconds to start the plan file on my machine (Windows 7, Intel Core 2 Quad CPU 2.34 GHz, 4GB RAM).

Hope you find it useful!

best regards, Peter

/PS NOTE: apparently, the forum adds some header/footer content to attachments. Therefore, you need to manually find and extract the <project> tags from the pom.xml attachment.
  • Attachment: pom.xml
    (Size: 5.24KB, Downloaded 424 times)

[Updated on: Tue, 11 May 2010 18:45]

Report message to a moderator

Re: Speeding up resolution and server start up [message #536645 is a reply to message #531977] Sat, 29 May 2010 08:46 Go to previous messageGo to next message
Peter  ardfj is currently offline Peter ardfjFriend
Messages: 19
Registered: July 2009
Junior Member
Hi,

just wondering if there has been any progress in investigating this issue.

Also, Glyn, in the original forum thread (at Spring dm) you mentioned ideas about providing support for deploying "transitively complete" applications/subsystems. Is this on Virgo's roadmap?

Finally, is it possible to hook in additional deployers (handling new types of deployment artifacts) in Virgo? If so, what interfaces need to be implemented, what design guidelines should be adhered to, etc? I guess I'm looking for pointers on where to start.

Thanks, Peter
Re: Speeding up resolution and server start up [message #537584 is a reply to message #536645] Thu, 03 June 2010 02:18 Go to previous messageGo to next message
Glyn Normington is currently offline Glyn NormingtonFriend
Messages: 1222
Registered: July 2009
Senior Member
Peter Gardfj�¤ll wrote on Sat, 29 May 2010 09:46
Hi,

just wondering if there has been any progress in investigating this issue.

Also, Glyn, in the original forum thread (at Spring dm) you mentioned ideas about providing support for deploying "transitively complete" applications/subsystems. Is this on Virgo's roadmap?

Finally, is it possible to hook in additional deployers (handling new types of deployment artifacts) in Virgo? If so, what interfaces need to be implemented, what design guidelines should be adhered to, etc? I guess I'm looking for pointers on where to start.

Thanks, Peter

(Sorry for the delayed response. I now realise that I need to subscribe to topics to be notified of responses! I assumed that was automatic for topics I had posted to.)

In short: no progress. I'm more focussed on getting a baseline milestone issued right now. Please would you raise a couple of bugzillas for the performance issue and the lack of documentation about adding new deployment artifacts to keep these items on the "to do" list?

Since Dmitry says he's going to take a look and respond, I'll hold off for now...
Re: Speeding up resolution and server start up [message #538117 is a reply to message #537584] Sat, 05 June 2010 08:07 Go to previous messageGo to next message
Peter  ardfj is currently offline Peter ardfjFriend
Messages: 19
Registered: July 2009
Junior Member
Thanks Glyn,

I filed the following bugs/feature requests:

Document how to write custom artifact deployers:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=315867

Improve Virgo startup/deployment performance:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=315865

Support marking a plan "transitively complete" (disabling auto-provisioning):
https://bugs.eclipse.org/bugs/show_bug.cgi?id=315869

best regards, Peter
Re: Speeding up resolution and server start up [message #538198 is a reply to message #538117] Sun, 06 June 2010 10:08 Go to previous message
Glyn Normington is currently offline Glyn NormingtonFriend
Messages: 1222
Registered: July 2009
Senior Member
Thanks Peter. Much appreciated.
Previous Topic:Build Virgo
Next Topic:Re: Speeding up resolution and server start up
Goto Forum:
  


Current Time: Thu Apr 25 11:56:30 GMT 2024

Powered by FUDForum. Page generated in 0.03246 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top