Hi, we're currently having an issue with the XML sitemap being extremely slow to regenerate after making content changes. We'll make a change in Umbraco, hit /sitemap.xml and it'll take around 10 minutes to load. Is there a way of improving the speed? Any kind of caching we could do? Any help would be greatly appreciated.
It is generated dynamically. But cached after rendering, so next request should be fast. How big is the site, maybe exclude certain parts you don't want to add to the sitemap?
Hey Richard,
I'm seeing the same problem with a site (large number of nodes)... the url request just times out, and subsequent requests also time out. Where is the cached sitemap being held? Is it a physical file somewhere?
Coincidentally, I also see the following error appear right about the time I hit the sitemap.xml link:
Message:
An unhandled exception occurred
Exception:
Microsoft.WindowsAzure.Storage.StorageException: The remote host closed the connection. The error code is 0x800704CD. ---> System.Web.HttpException: The remote host closed the connection. The error code is 0x800704CD.
at System.Web.Hosting.IIS7WorkerRequest.RaiseCommunicationError(Int32 result, Boolean throwOnDisconnect)
at System.Web.Hosting.IIS7WorkerRequest.ExplicitFlush()
at System.Web.HttpResponse.Flush(Boolean finalFlush, Boolean async)
at System.Web.HttpResponse.Flush()
at System.Web.HttpWriter.WriteFromStream(Byte[] data, Int32 offset, Int32 size)
at System.Web.HttpResponseStream.Write(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.Stream.<>c.<BeginWriteInternal>b__46_0(Object )
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.IO.Stream.EndWrite(IAsyncResult asyncResult)
at System.IO.Stream.<>c.<BeginEndWriteAsync>b__53_1(Stream stream, IAsyncResult asyncResult)
at System.Threading.Tasks.TaskFactory`1.FromAsyncTrimPromise`1.Complete(TInstance thisRef, Func`3 endMethod, IAsyncResult asyncResult, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at Microsoft.WindowsAzure.Storage.Core.Util.AsyncStreamCopier`1.<StartCopyStreamAsyncHelper>d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.WindowsAzure.Storage.Core.Util.AsyncStreamCopier`1.<StartCopyStreamAsync>d__4.MoveNext()
--- End of inner exception stack trace ---
at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.EndExecuteAsync[T](IAsyncResult result)
at Microsoft.WindowsAzure.Storage.Blob.CloudBlob.EndDownloadRangeToStream(IAsyncResult asyncResult)
at Microsoft.WindowsAzure.Storage.Core.Util.AsyncExtensions.<>c__DisplayClass7.<CreateCallbackVoid>b__5(IAsyncResult ar)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Umbraco.Cloud.StorageProviders.AzureBlob.FileHandler.<DownloadRangeToStreamAsync>d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at Umbraco.Cloud.StorageProviders.AzureBlob.FileHandler.<ProcessRequestAsync>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.TaskAsyncHelper.EndTask(IAsyncResult ar)
at System.Web.HttpTaskAsyncHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result)
at System.Web.HttpApplication.CallHandlerExecutionStep.InvokeEndHandler(IAsyncResult ar)
at System.Web.HttpApplication.CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult ar)
Request Information
RequestID:9c610f61-a01e-0049-3ca9-c280c8000000
RequestDate:Tue, 24 Nov 2020 21:33:56 GMT
StatusMessage:Partial Content
ErrorCode:
Hi Richard, thanks for your reply. The site isn't huge - around 70 pages. It happens on some of our other much smaller sites as well so I'm wondering if there could be something in the SEO checker settings that could be causing this?
is it possible to add this bug fix to the latest version that supports Umbraco 7 as well? That should be 2.2.4. Or does it not apply? We experience very slow load of sitemap.xml as well.
-> System.InvalidOperationException: The migration plan does not support migrating from state "V2 Config Table".
at Umbraco.Core.Migrations.MigrationPlan.ThrowOnUnknownInitialState(String state) in D:\a\1\s\src\Umbraco.Core\Migrations\MigrationPlan.cs:line 278
at Umbraco.Core.Migrations.MigrationPlan.Execute(IScope scope, String fromState, IMigrationBuilder migrationBuilder, ILogger logger) in D:\a\1\s\src\Umbraco.Core\Migrations\MigrationPlan.cs:line 304
at Umbraco.Core.Migrations.Upgrade.Upgrader.Execute(IScopeProvider scopeProvider, IMigrationBuilder migrationBuilder, IKeyValueService keyValueService, ILogger logger) in D:\a\1\s\src\Umbraco.Core\Migrations\Upgrade\Upgrader.cs:line 67
at SEOChecker.Core.Installer.SEOCheckerInstaller.Initialize()
at Umbraco.Core.Composing.ComponentCollection.Initialize() in D:\a\1\s\src\Umbraco.Core\Composing\ComponentCollection.cs:line 32
at Umbraco.Core.Runtime.CoreRuntime.Boot(IRegister register, DisposableTimer timer) in D:\a\1\s\src\Umbraco.Core\Runtime\CoreRuntime.cs:line 188]
Umbraco.Core.Exceptions.BootFailedException.Rethrow(BootFailedException bootFailedException) in D:\a\1\s\src\Umbraco.Core\Exceptions\BootFailedException.cs:80
Umbraco.Web.<>c.
It seemed to work fine for a couple of days but broke this morning. Any ideas?
I'm also experiencing unbelievable slow loading of the sitemap.xml It seems you were working on a version that fixes this but it doesn't seem to have been released yet. When is this update coming?
This version is about to be released. I have fixed the slow sitemap already. You can use this hotfix version. I hope to release the final version within the next two weeks.
We've recently upgraded to 2.10.0 from 2.9.0 and are now encountering the same error as @Myles mentioned above:
-> Umbraco.Core.Exceptions.BootFailedException: Boot failed.
-> System.InvalidOperationException: The migration plan does not support migrating from state "V2 Config Table".
at Umbraco.Core.Migrations.MigrationPlan.ThrowOnUnknownInitialState(String state) in D:\a\1\s\src\Umbraco.Core\Migrations\MigrationPlan.cs:line 278
at Umbraco.Core.Migrations.MigrationPlan.Execute(IScope scope, String fromState, IMigrationBuilder migrationBuilder, ILogger logger) in D:\a\1\s\src\Umbraco.Core\Migrations\MigrationPlan.cs:line 304
at Umbraco.Core.Migrations.Upgrade.Upgrader.Execute(IScopeProvider scopeProvider, IMigrationBuilder migrationBuilder, IKeyValueService keyValueService, ILogger logger) in D:\a\1\s\src\Umbraco.Core\Migrations\Upgrade\Upgrader.cs:line 67
at SEOChecker.Core.Installer.SEOCheckerInstaller.Initialize()
at Umbraco.Core.Composing.ComponentCollection.Initialize() in D:\a\1\s\src\Umbraco.Core\Composing\ComponentCollection.cs:line 32
at Umbraco.Core.Runtime.CoreRuntime.Boot(IRegister register, DisposableTimer timer) in D:\a\1\s\src\Umbraco.Core\Runtime\CoreRuntime.cs:line 188
This error didn't appear in the logs till some 2-3 days post-release of upgrade.
Do you have any ideas what is causing this?
Just following up on this to say I found out this issue was actually occurring on our preproduction slot on Azure, not the production slot.
The preproduction slots had the old DLLs as preprod and prod were swapped during the release process.
Just in case anyone else encounters this issue, check your environments for older DLLs!
XML Sitemap extremely slow
Hi, we're currently having an issue with the XML sitemap being extremely slow to regenerate after making content changes. We'll make a change in Umbraco, hit /sitemap.xml and it'll take around 10 minutes to load. Is there a way of improving the speed? Any kind of caching we could do? Any help would be greatly appreciated.
Hi,
It is generated dynamically. But cached after rendering, so next request should be fast. How big is the site, maybe exclude certain parts you don't want to add to the sitemap?
Best,
Richard
Hey Richard, I'm seeing the same problem with a site (large number of nodes)... the url request just times out, and subsequent requests also time out. Where is the cached sitemap being held? Is it a physical file somewhere?
This site is on Umbraco Cloud...
Coincidentally, I also see the following error appear right about the time I hit the sitemap.xml link:
Think the sitemap.xml file timesout. , performance is improved in 2.10 RC can be found here https://www.dropbox.com/s/7e5dp4zwdgnm02z/seo-checker210_0.zip?dl=0 But still it needs to loop over the whole site.
Hope the RC fixes your issue.
Best,
Richard
Hi Richard, thanks for your reply. The site isn't huge - around 70 pages. It happens on some of our other much smaller sites as well so I'm wondering if there could be something in the SEO checker settings that could be causing this?
Hi,
I found a really stupid bug. I's fixed now so few thousand nodes render in a few ms. Below the RC2 version of 2.10 where this bug is fixed
https://www.dropbox.com/s/eubnvrg46uxha18/seo-checker210_0.zip?dl=0
Best,
Richard
Hi,
is it possible to add this bug fix to the latest version that supports Umbraco 7 as well? That should be 2.2.4. Or does it not apply? We experience very slow load of sitemap.xml as well.
Cheers, Josef
Hi Richard, thanks for that! I'll give that a go and let you know how it goes.
That seemed to fix the issue so thanks for that. Do you have any idea when you're going to release version 2.10 to nuget?
Final release will be on Nuget, hopefully in 2 weeks.
Perfect, thanks again!
Hi again Richard,
We seem to be getting the following error all of a sudden after copying the above DLL's:
[BootFailedException: Boot failed: Umbraco cannot run. See Umbraco's log file for more details.
-> Umbraco.Core.Exceptions.BootFailedException: Boot failed.
-> System.InvalidOperationException: The migration plan does not support migrating from state "V2 Config Table". at Umbraco.Core.Migrations.MigrationPlan.ThrowOnUnknownInitialState(String state) in D:\a\1\s\src\Umbraco.Core\Migrations\MigrationPlan.cs:line 278 at Umbraco.Core.Migrations.MigrationPlan.Execute(IScope scope, String fromState, IMigrationBuilder migrationBuilder, ILogger logger) in D:\a\1\s\src\Umbraco.Core\Migrations\MigrationPlan.cs:line 304 at Umbraco.Core.Migrations.Upgrade.Upgrader.Execute(IScopeProvider scopeProvider, IMigrationBuilder migrationBuilder, IKeyValueService keyValueService, ILogger logger) in D:\a\1\s\src\Umbraco.Core\Migrations\Upgrade\Upgrader.cs:line 67 at SEOChecker.Core.Installer.SEOCheckerInstaller.Initialize() at Umbraco.Core.Composing.ComponentCollection.Initialize() in D:\a\1\s\src\Umbraco.Core\Composing\ComponentCollection.cs:line 32 at Umbraco.Core.Runtime.CoreRuntime.Boot(IRegister register, DisposableTimer timer) in D:\a\1\s\src\Umbraco.Core\Runtime\CoreRuntime.cs:line 188] Umbraco.Core.Exceptions.BootFailedException.Rethrow(BootFailedException bootFailedException) in D:\a\1\s\src\Umbraco.Core\Exceptions\BootFailedException.cs:80 Umbraco.Web.<>c.
It seemed to work fine for a couple of days but broke this morning. Any ideas?
Looks like older dll's ar put in? This is the installer.
I'm also experiencing unbelievable slow loading of the sitemap.xml It seems you were working on a version that fixes this but it doesn't seem to have been released yet. When is this update coming?
Hi,
This version is about to be released. I have fixed the slow sitemap already. You can use this hotfix version. I hope to release the final version within the next two weeks.
Best,
Richard
Hi @Richard,
Any chance you apply this hotfix to the 2.2.5 version for v7?
I'm having this issue on a site that's using Umbraco 7.15.7, this site only has 25 nodes and it's painfully slow.
Thanks, Ale
Hi,
We've recently upgraded to 2.10.0 from 2.9.0 and are now encountering the same error as @Myles mentioned above:
This error didn't appear in the logs till some 2-3 days post-release of upgrade. Do you have any ideas what is causing this?
Just following up on this to say I found out this issue was actually occurring on our preproduction slot on Azure, not the production slot. The preproduction slots had the old DLLs as preprod and prod were swapped during the release process.
Just in case anyone else encounters this issue, check your environments for older DLLs!
is working on a reply...