Projects slowing down the site

Member since: 2010

Hi, all,

I am running an app on Azure with around 60K pages and 300 editors.

It has been working fine, with some intermittent performance issues in edit mode, but these days it is really slow. 

We did have an issue with remapping of the data store, but now that this is fixed, it was still slowing down the entire application, so I ended up disabling the Projects and web sockets in Azure. It made the entire application a lot faster.

Now, of course, the client wants Projects back and I am wondering if any performance improvements for Projects have been issues in version 10? 

Currently, I have the following versions:

<package id="EPiServer.Azure" version="9.0.1" targetFramework="net452" />
  <package id="EPiServer.CMS" version="9.10.2" targetFramework="net452" />
  <package id="EPiServer.CMS.Core" version="9.10.2" targetFramework="net452" />
  <package id="EPiServer.CMS.UI" version="9.7.1" targetFramework="net452" />
  <package id="EPiServer.CMS.UI.Core" version="9.7.1" targetFramework="net452" />
  <package id="EPiServer.Forms" version="2.1.0.2" targetFramework="net452" />
  <package id="EPiServer.Framework" version="9.10.2" targetFramework="net452" />
  <package id="EPiServer.GoogleAnalytics" version="1.9.3.9000" targetFramework="net452" />
  <package id="EPiServer.Logging.Log4Net" version="2.0.0" targetFramework="net452" />
  <package id="EPiServer.Packaging" version="3.2.4" targetFramework="net452" />
  <package id="EPiServer.Packaging.UI" version="3.2.4" targetFramework="net452" />
  <package id="EPiServer.Search" version="8.0.0" targetFramework="net452" />

Ofc, all ideas about what I could fix in my code to make them faster is welcome. There are currently only three projects with approximately 20 items per project. Change log auto truncate is running daily.

Thx!

Marija

#171208 Nov 02, 2016 17:28
  • Member since: 1999

    To my knowledge all performance improvements to projects was made prior to those versions. If you open a support case and give us access to code and DB (so we can reproduce it in Azure ourselves) we can profile the code and see what is happing.

    #171558 Nov 10, 2016 17:29
  • Member since: 2010

    Hi, Per,

    Thx a lot for your answer. I'll try to some more troubleshooting myself before that, since it might be a bit difficult to reproduce the same setup and get the DB as well. 

    I have now just had the bug with corrupt DDS reocur http://world.episerver.com/forum/developer-forum/-Episerver-75-CMS/Thread-Container/2016/11/argumentexception-value-cannot-be-null-or-empty--parameter-name-controllername/ It might be that something else is wrong altogether, but I am still keeping the Projects disabled for a while.

    #171649 Edited, Nov 14, 2016 15:39
  • Member since: 2010

    Hi, Per,

    I've now tried enabling the Projects again and got 502 errors as well as timeouts when I accessed the edit mode and switched to a project. When I access only view and admin mode, everything is fine. But, when I access edit mode, Network tab goes pretty wild with timings, ex. URL https://site/something/cms/Stores/contentstructure/?referenceId=1246&query=getchildren&typeIdentifiers=episerver.core.contentfolder&allLanguages=true&sort(+name)&dojo.preventCache=1479309106330 takes 4 seconds and now that I disabled them, it's 66ms.

    This is an Intranet with Owin/Google for authentication, it's hosted in a webapp with two instances on Azure (not DXC). Which tools would you advise me to use to troubleshoot this further without a big breakup in services for the client (if possible)? 

    I have been checking projects code, checked the DB tables, nothing seems odd there. tblBigTable has 25698 in total, that shouldn't be a lot.

    Thx in advance,

    Marija

    #171728 Nov 16, 2016 16:19
  • Member since: 1999

    Hi,

    I have not used it myself but there is a profiler in the Kudo console, maybe start with that:

    https://azure.microsoft.com/sv-se/blog/remote-profiling-support-in-azure-app-service/

    /Per

    #171729 Nov 16, 2016 16:45
  • Member since: 2005

    I would start by checking if any calls to google is being made. Log that...

    #171740 Nov 16, 2016 23:13
  • Member since: 2010

    Hi, Per,

    Couldn't use the built-in VS/Azure profiler due to have a custom authentication in the Intranet (so I couldn't get authenticated). While I can think of some workarounds for this, I haven't still gone down that road and instead, I've attached the localhost to a Azure test environment in attempt to figure out what's going on. Then, I'm using prefix.io and it works really well (so easy to set up). (Big thx to Valdis for recommendation.)

    So, when I access the edit mode, I get the following error in the profiler: http://prntscr.com/d8ttcp

    System.InvalidCastException: Invalid cast from 'System.Int32' to 'EPiServer.Shell.ViewComposition.ContainerType'.
      at System.Convert.DefaultToType
      at System.Web.Mvc.ValueProviderResult.ConvertSimpleType
    

    Is this something that looks familiar?

    BR,

    Marija

    #171838 Edited, Nov 18, 2016 13:04
  • Member since: 2010

    We have had some cleaning up to do in the code, NewRelic helped pinpoint one issue that caused a significant performance improvement. The "fun" part with Azure is that if something works smoothly and really fast a standard virtual server (although it's just a test environment), if that something is slow on Azure, every next request after the slow one is slow (on premium subscriptions). 

    As for projects, it was only a manifestation, but it's good to know that this bug related to many unnecessary requests to DB will be fixed soon (which increases when Projects are enabled): http://world.episerver.com/forum/developer-forum/-Episerver-75-CMS/Thread-Container/2016/11/why-does-aspnet_profile_getproperties-get-called-on-every-request-in-edit-mode/

    #174998 Feb 09, 2017 11:22