<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="RSS_xslt_style.asp" version="1.0" ?>
<rss version="2.0" xmlns:WebWizForums="http://syndication.webwiz.co.uk/rss_namespace/">
 <channel>
  <title>DevForce Community Forum : Startup performance drop after 6.1.4</title>
  <link>http://www.ideablade.com/forum/</link>
  <description>This is an XML content feed of; DevForce Community Forum : DevForce 2010 : Startup performance drop after 6.1.4</description>
  <pubDate>Wed, 13 May 2026 05:42:37 -700</pubDate>
  <lastBuildDate>Wed, 30 May 2012 14:10:39 -700</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 9.69</generator>
  <ttl>360</ttl>
  <WebWizForums:feedURL>www.ideablade.com/forum/RSS_post_feed.asp?TID=3353</WebWizForums:feedURL>
  <image>
   <title>DevForce Community Forum</title>
   <url>http://www.ideablade.com/forum/forum_images/IdeaBlade_logo_tm.png</url>
   <link>http://www.ideablade.com/forum/</link>
  </image>
  <item>
   <title>Startup performance drop after 6.1.4 :   For anyone interested, the...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=3353&amp;PID=13681#13681</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=11" rel="nofollow">kimj</a><br /><strong>Subject:</strong> 3353<br /><strong>Posted:</strong> 30-May-2012 at 2:10pm<br /><br />For anyone interested, the 6.1.7.1 patch release is also now available from our web site.&nbsp; The only difference from 6.1.7.0 is the fix for this startup performance issue.]]>
   </description>
   <pubDate>Wed, 30 May 2012 14:10:39 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=3353&amp;PID=13681#13681</guid>
  </item> 
  <item>
   <title>Startup performance drop after 6.1.4 : After testing everything, it looks...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=3353&amp;PID=13679#13679</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=613" rel="nofollow">stephenmcd1</a><br /><strong>Subject:</strong> 3353<br /><strong>Posted:</strong> 30-May-2012 at 12:19pm<br /><br />After testing everything, it looks like the performance problems have been solved in the patch build (6.1.7.1). &nbsp;Thanks!]]>
   </description>
   <pubDate>Wed, 30 May 2012 12:19:01 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=3353&amp;PID=13679#13679</guid>
  </item> 
  <item>
   <title>Startup performance drop after 6.1.4 : Stephen,Our fix for the SL5 performance...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=3353&amp;PID=13650#13650</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=11" rel="nofollow">kimj</a><br /><strong>Subject:</strong> 3353<br /><strong>Posted:</strong> 24-May-2012 at 6:01pm<br /><br /><p>Stephen,</p><div></div>Our fix for the SL5 performance problem you also reported (defect #2034) did introduce a new performance problem at startup.&nbsp; We've fixed this in current bits.&nbsp; Please contact us via email (kimj or IdeaBladeSupportTrack) to let us know how you want to proceed.&nbsp;]]>
   </description>
   <pubDate>Thu, 24 May 2012 18:01:17 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=3353&amp;PID=13650#13650</guid>
  </item> 
  <item>
   <title>Startup performance drop after 6.1.4 :   We did fix this in the 6.1.7...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=3353&amp;PID=13637#13637</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=11" rel="nofollow">kimj</a><br /><strong>Subject:</strong> 3353<br /><strong>Posted:</strong> 23-May-2012 at 3:41pm<br /><br />We did fix this in the 6.1.7 release.&nbsp; It was defect #2012 in the release notes, and involved the use of ThreadLocal variables within the PropertyInterceptor class.&nbsp; However, I just reran your test solution and still see a performance hit, so it's possible some&nbsp;later changes&nbsp;made to the PropertyInterceptor logic caused a regression we didn't catch.&nbsp; We'll take a look at this and let you know what we find.]]>
   </description>
   <pubDate>Wed, 23 May 2012 15:41:59 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=3353&amp;PID=13637#13637</guid>
  </item> 
  <item>
   <title>Startup performance drop after 6.1.4 :   Did the fix to this ever make...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=3353&amp;PID=13636#13636</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=613" rel="nofollow">stephenmcd1</a><br /><strong>Subject:</strong> 3353<br /><strong>Posted:</strong> 23-May-2012 at 2:52pm<br /><br /><p>Did the fix to this ever make it into 6.1.7? &nbsp;I just upgraded our project but I'm still seeing very poor startup performance. &nbsp;From the release notes, I saw some fixes to Property Interceptors but I'm thinking that those changes could have been related to a different performance problem that I reported.</p><p>What is the status of this issue?</p>]]>
   </description>
   <pubDate>Wed, 23 May 2012 14:52:15 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=3353&amp;PID=13636#13636</guid>
  </item> 
  <item>
   <title>Startup performance drop after 6.1.4 :   For anyone else interested,...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=3353&amp;PID=13142#13142</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=11" rel="nofollow">kimj</a><br /><strong>Subject:</strong> 3353<br /><strong>Posted:</strong> 28-Mar-2012 at 9:25am<br /><br />For anyone else interested, the problem turned out to have been introduced in the 6.1.5 release when we made some changes to the PropertyInterceptor class to fix a thread safety issue.&nbsp;&nbsp;&nbsp;&nbsp;When a model loads at startup DevForce loads all the entity properties, each of which has a getter, and often a setter, property interceptor.&nbsp;&nbsp; In large models the problem is especially apparent, but all models will see some performance hit at startup.<div>&nbsp;</div>We'll get this fixed in the 6.1.7 release.&nbsp; ]]>
   </description>
   <pubDate>Wed, 28 Mar 2012 09:25:43 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=3353&amp;PID=13142#13142</guid>
  </item> 
  <item>
   <title>Startup performance drop after 6.1.4 : I wish we only had a single EDMX...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=3353&amp;PID=13081#13081</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=613" rel="nofollow">stephenmcd1</a><br /><strong>Subject:</strong> 3353<br /><strong>Posted:</strong> 22-Mar-2012 at 8:00pm<br /><br />I wish we only had a single EDMX but we actually have 12! &nbsp;:-(. &nbsp;Yup, a lot of entities. &nbsp;I believe we have a little over 400 entities at the moment and the EDMX designer doesn't seem to like complex models so we've had to split them up. &nbsp;<div><br></div><div>Further complicating things, we've tweaked the T4s templates to do various other code generation for us. &nbsp;The one thing that our T4s do that is probably pertinent to this issue is that we auto-generate some additional DataEntityProperties in places where we want to be able to navigate between models (we can't use normal navigation properties because they can't span models so we do a little bit of that ourselves). &nbsp;I'm not sure that affects this issue but at the very least the 'graph' of entities and how they are connected is pretty massive. &nbsp;I don't really know how the CLR does static constructors but I can imagine things get complicated when types start referencing each other and even more complicated when there are hundreds of them.<div><br></div><div>With that being said, would you need all the EDMX's or just one to sample? &nbsp;Anything else you'd need?</div><div><br></div><div>I just sent you an email with the full debug logs.</div></div>]]>
   </description>
   <pubDate>Thu, 22 Mar 2012 20:00:10 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=3353&amp;PID=13081#13081</guid>
  </item> 
  <item>
   <title>Startup performance drop after 6.1.4 :   I would like to see the full...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=3353&amp;PID=13080#13080</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=11" rel="nofollow">kimj</a><br /><strong>Subject:</strong> 3353<br /><strong>Posted:</strong> 22-Mar-2012 at 7:40pm<br /><br />I would like to see the full debug logs, or at least everything up to the completion of the first query.&nbsp; Also, would you be willing to send your EDMX?&nbsp; You can mail to IdeaBladeSupportTrack with task id 11702 in the subject line.&nbsp; <div>&nbsp;</div><div>&nbsp;</div>]]>
   </description>
   <pubDate>Thu, 22 Mar 2012 19:40:12 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=3353&amp;PID=13080#13080</guid>
  </item> 
  <item>
   <title>Startup performance drop after 6.1.4 : Hi Kim, thanks for the response.Probing...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=3353&amp;PID=13079#13079</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=613" rel="nofollow">stephenmcd1</a><br /><strong>Subject:</strong> 3353<br /><strong>Posted:</strong> 22-Mar-2012 at 7:20pm<br /><br />Hi Kim, thanks for the response.<div><br></div><div>Probing doesn't seem to be the problem. &nbsp;Looking at the log it takes about a second to complete:</div><div><table width="99%"><tr><td><pre class="BBcode">MEF assembly probing started: 3/22/2012 6:26:37 PM. If this takes a long time, use IdeaBlade.Core.Composition.CompositionHost to specify/restrict which assemblies to probe.</div><div><br></div><div>Assembly 'MyApp.Business, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' added to PartsCatalog</div><div><br></div><div>Assembly 'MyApp.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' added to PartsCatalog</div><div><br></div><div>MEF assembly probing completed: 3/22/2012 6:26:38 PM</pre></td></tr></table></div><div>The slowdown we see is before any querying takes places (although, for the record, I believe we do pre-generate the EF views). &nbsp;Looking at the debug log, there is a 3 minute gap between these two entries:</div><div><table width="99%"><tr><td><pre class="BBcode">18:26:38 -&nbsp;EntityServer listening on https://localhost/Dev/60/Alt/EntityServer.svc/sl</div><div>18:29:47 -&nbsp;CompositionContext: '-IbDefault-' - Probed for default 'IDataSourceKeyResolver' and found 'IdeaBlade.EntityModel.DefaultDataSourceKeyResolver'.</div><div></pre></td></tr></table></div><div>If you want the entire debug log, I'd be happy to email it (rather not post it here just to avoid exposing any sensitive info). &nbsp;Let me know what email I should send it to. &nbsp;I'll also get a debug log from before we did the upgrade so you can compare.</div><div><br></div><div>In trying to isolate the problem, I wrote a simple unit test. &nbsp;All I do is make a call to initialize EntityRelations for our main assembly (all our entities are in this one assembly). &nbsp;When I've profiled the app, it's seemed that this was the big bottleneck. &nbsp;I couldn't real nail down the specifics of the slowdown but I thought I saw a lot of time spent in the PropertyInterceptor&lt;,,&gt; constructor as it sets up the ThreadLocal variable....and interestingly enough, that is a new field in 6.1.6 (at least compared to 6.1.3). &nbsp;But I don't claim to be a profiling expert so.... :-)</div><div><br></div><div>Anyway, here's the test along with results from 6.1.6.0 and 6.1.3.1:</div><div><table width="99%"><tr><td><pre class="BBcode">&#091;TestMethod&#093;</div><div>public void TestPerformance()</div><div>{</div><div>&nbsp; &nbsp; var ibVersion = typeof (EntityManager).Assembly.GetName().Version;</div><div>&nbsp; &nbsp; var sw = Stopwatch.StartNew();</div><div>&nbsp; &nbsp; EntityMetadataStore.Instance.InitializeEntityRelations(typeof (MyEntity).Assembly);</div><div>&nbsp; &nbsp; Assert.Fail("Version " + ibVersion + " took " + sw.Elapsed);</div><div>}</pre></td></tr></table></div><div>Results:</div><div><table width="99%"><tr><td><pre class="BBcode">Assert.Fail&nbsp;failed.&nbsp;Version&nbsp;6.1.6.0&nbsp;took&nbsp;00:01:07.4042727</pre></td></tr></table><table width="99%"><tr><td><pre class="BBcode">Assert.Fail&nbsp;failed.&nbsp;Version&nbsp;6.1.3.1&nbsp;took&nbsp;00:00:10.6463887</pre></td></tr></table></div><div>So the same call used to take 10 seconds but now takes over a minute.&nbsp;</div>]]>
   </description>
   <pubDate>Thu, 22 Mar 2012 19:20:41 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=3353&amp;PID=13079#13079</guid>
  </item> 
  <item>
   <title>Startup performance drop after 6.1.4 :   Hi Stephen,We&amp;#039;re not...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=3353&amp;PID=13078#13078</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=11" rel="nofollow">kimj</a><br /><strong>Subject:</strong> 3353<br /><strong>Posted:</strong> 22-Mar-2012 at 5:48pm<br /><br />Hi Stephen,<div>&nbsp;</div><div>We're not aware of any performance issues inadvertently (or otherwise) introduced since the 6.1.3 release.&nbsp; A 4 minute cold start time is awful, and really a 45 second startup time isn't all that great either, so something&nbsp;odd is going on.&nbsp;</div><div>&nbsp;</div><div>DevForce has always performed metadata initialization, which is what those static constructors help kick off.&nbsp;&nbsp; When the constructors aren't there your application won't run, so it probably wasn't the D1918 fix that triggered this problem since I'm assuming your metadata was loading successfully before.</div><div>&nbsp;</div><div>Generally large, complex models will incur a first query and first save startup penalty, but if you didn't see the problem before then the hit shouldn't be any greater in the new release.&nbsp; For the record, you can use pre-generated views to work around this problem, and we can provide more information if you're interested.</div><div>&nbsp;</div><div>A common cause for startup performance problems is the automatic probing DevForce does when the application loads.&nbsp;&nbsp; If too many files are being probed that can cause significant delays. &nbsp;Your debug log will indicate the total probing time.</div><div>&nbsp;</div><div>If you can upload (or email) your debug log, we can analyze it further to see if anything stands out.&nbsp; If you happen to have a debug log from a 6.1.3.1 run, it would help if we saw that too.&nbsp; </div><div>&nbsp;</div><div>&nbsp;</div>]]>
   </description>
   <pubDate>Thu, 22 Mar 2012 17:48:15 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=3353&amp;PID=13078#13078</guid>
  </item> 
  <item>
   <title>Startup performance drop after 6.1.4 : We are currently in the process...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=3353&amp;PID=13069#13069</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=613" rel="nofollow">stephenmcd1</a><br /><strong>Subject:</strong> 3353<br /><strong>Posted:</strong> 22-Mar-2012 at 4:01pm<br /><br />We are currently in the process of upgrading from 6.1.3.1 to 6.1.6.0. &nbsp;On the new version, our app now takes a very, very long time to start up. &nbsp;It seems like it's related to the static constructors that have started being generated by the T4s ("Release build models may not initialize navigation properties correctly. Fixed in 6.1.3.3. &#091;D1918&#093;").<div><br></div><div>The slowdown is all in IIS (for some reason, our Silverlight client seems to still&nbsp;start up&nbsp;quickly). &nbsp;The first time we make query &nbsp;from the Silverlight client, IIS starts taking tons of CPU cycles and doesn't respond for about 4 minutes! &nbsp;Previously, whatever startup logic IIS did wasn't even&nbsp;noticeable&nbsp;(probably a few seconds) - oh, and these numbers are from a pretty beefy dev box.</div><div><br></div><div>I tried to do some profiling and it looked like it was just spending like 99% of the time in various static constructors - first in the autogenerated EntityRelations class in then in all the PropertyMetadata classes.</div><div><br></div><div>I found that I can cutdown the time by accessing one of the EntityRelations members in Application_Start through straight C# code (e.g. var dummy = EntityRelations.SomeRandomRelation.Name). &nbsp;But even that way takes about 45 seconds and it doesn't quite feel right. &nbsp;In a production environment, a 45 second cold start might be barely acceptable but it is a deal-breaker when it comes to normal development (every code change and build incurs an extra 45 seconds of overhead to run a unit test, etc.).</div><div><br></div><div>We have a relatively complex data model (lots of entities and lots of relationships between them) but it's never been a problem before this upgrade.</div><div><br></div><div>Any suggestions on what we might be able to do or look at to help performance?</div><div><br></div><div>Thanks,</div><div>-Stephen</div>]]>
   </description>
   <pubDate>Thu, 22 Mar 2012 16:01:44 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=3353&amp;PID=13069#13069</guid>
  </item> 
 </channel>
</rss>