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:
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.
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.
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.
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,
I have not used it myself but there is a profiler in the Kudo console, maybe start with that:
I would start by checking if any calls to google is being made. Log that...
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'.
Is this something that looks familiar?
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/