Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Ron G 41 posts 137 karma points
    May 17, 2016 @ 18:26
    Ron G
    0

    Site Won't Load With Large Amount of Nodes

    I have an Umbraco 7.3.4 site with a large number of nodes (20,000+).

    The website takes forever to load and most of the time won't; the server RAM peaks around 3 GB, maxes out the CPU, and most of the time returns an error of: Failed to enter the lock within timeout.

    Here are some items of interest in the log file:

    _shutDownMessage=IIS configuration change
    HostingEnvironment initiated shutdown
    HostingEnvironment caused shutdown
    
    _shutDownStack=   at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
       at System.Environment.get_StackTrace()
       at System.Web.Hosting.HostingEnvironment.InitiateShutdownInternal()
       at System.Web.Hosting.HostingEnvironment.InitiateShutdownWithoutDemand()
       at System.Web.Hosting.PipelineRuntime.StopProcessing()
    

    -

     2016-05-16 10:52:23,223 [P4604/D12/T23] WARN  Umbraco.Core.Sync.DatabaseServerMessenger - No last synced Id found, this generally means this is a new server/install. The server will rebuild its caches and indexes and then adjust it's last synced id to the latest found in the database and will start maintaining cache updates based on that id
    

    -

     2016-05-16 10:52:23,237 [P4604/D12/T23] WARN  umbraco.content - Failed to load Xml, file does not exist.
    

    -

     2016-05-16 10:52:42,374 [P4604/D12/T8] INFO  umbraco.content - Save Xml to file...
     2016-05-16 10:52:45,666 [P4604/D12/T8] ERROR umbraco.content - Failed to save Xml to file.
    

    -

     2016-05-16 10:52:45,666 [P4604/D12/T8] ERROR umbraco.content - Failed to save Xml to file.
    System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
       at System.Text.Encoding.GetBytes(String s)
       at umbraco.content.<SaveXmlToFileAsync>d__b.MoveNext()
     2016-05-16 10:53:00,501 [P4604/D12/T14] INFO  umbraco.content - Save Xml to file...
     2016-05-16 10:53:04,476 [P4604/D12/T14] ERROR umbraco.content - Failed to save Xml to file.
    System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
       at System.Text.Encoding.GetBytes(String s)
       at umbraco.content.<SaveXmlToFileAsync>d__b.MoveNext()
    

    -

     2016-05-16 10:53:23,184 [P4604/D11/T24] ERROR UmbracoExamine.DataServices.UmbracoLogService - Provider=ExternalIndexer, NodeId=-1
    System.Exception: Error indexing queue items,Lucene.Net.Store.AlreadyClosedException: this IndexWriter is closed
       at Lucene.Net.Index.IndexWriter.EnsureOpen(Boolean includePendingClose)
       at Lucene.Net.Index.IndexWriter.EnsureOpen()
       at Lucene.Net.Index.IndexWriter.UpdateDocument(Term term, Document doc)
       at Examine.LuceneEngine.Providers.LuceneIndexer.AddDocument(Dictionary`2 fields, IndexWriter writer, Int32 nodeId, String type) in x:\Projects\Examine\Examine\Projects\Examine\LuceneEngine\Providers\LuceneIndexer.cs:line 1322
       at Examine.LuceneEngine.Providers.LuceneIndexer.ProcessIndexQueueItem(IndexOperation op, IndexWriter writer) in x:\Projects\Examine\Examine\Projects\Examine\LuceneEngine\Providers\LuceneIndexer.cs:line 1802
       at Examine.LuceneEngine.Providers.LuceneIndexer.ProcessQueueItem(IndexOperation item, ICollection`1 indexedNodes, IndexWriter writer) in x:\Projects\Examine\Examine\Projects\Examine\LuceneEngine\Providers\LuceneIndexer.cs:line 1580
       at Examine.LuceneEngine.Providers.LuceneIndexer.ForceProcessQueueItems(Boolean block) in x:\Projects\Examine\Examine\Projects\Examine\LuceneEngine\Providers\LuceneIndexer.cs:line 1539, IndexSet: ExternalIndexSet
     2016-05-16 10:53:23,185 [P4604/D11/T24] ERROR UmbracoExamine.DataServices.UmbracoLogService - Provider=ExternalIndexer, NodeId=-1
    System.Exception: Error indexing queue items,Lucene.Net.Store.AlreadyClosedException: this IndexWriter is closed
       at Lucene.Net.Index.IndexWriter.EnsureOpen(Boolean includePendingClose)
       at Lucene.Net.Index.IndexWriter.EnsureOpen()
       at Lucene.Net.Index.IndexWriter.Commit(IDictionary`2 commitUserData)
    

    Is Umbraco not able to handle such a large amount of nodes without throwing a done of server resources at it?

  • Alex Skrypnyk 6163 posts 24143 karma points MVP 8x admin c-trib
    May 22, 2016 @ 10:21
    Alex Skrypnyk
    0

    Hi Ron,

    It looks like Umbraco hasn't access to 'AppData' folder. Can you check that there are /AppData/umbraco.config is working fine and Umbraco can write data?

    Thanks, Alex

  • Ron G 41 posts 137 karma points
    May 23, 2016 @ 07:02
    Ron G
    0

    Umbraco does have access to the folder and is able to generate the umbraco.config file AFTER I increase the server's resources by a multiple of 3. The price of the server with these increased resources is not something we can afford. I was hoping for ways to optimize Umbraco so it runs in a less than ideal server environment.

    I do understand why the umbraco.config file exists. To decrease the calls to the database which can be costly. But if app pool recycle or update to the DLLs causes the umbraco.config to be re-created and can't because of the server resources, this is a problem.

  • Alex Skrypnyk 6163 posts 24143 karma points MVP 8x admin c-trib
    May 23, 2016 @ 12:40
    Alex Skrypnyk
    0

    Hi Ron,

    You can disable using of Umbraco.config, try to set 'XmlCacheEnabled' key to false.

    Another great performance booster is using of Serve cache, Html.CachedPartial or Output cache.

    What Umbraco version are you using?

    Thanks

  • Ron G 41 posts 137 karma points
    May 23, 2016 @ 16:16
    Ron G
    0

    Umbraco 7.3.4

    By switching the XmlCacheEnabled to 'false' will it always go to the database when a node is loaded on the front-end?

    Also, it doesn't help when Umbraco says:

    XmlCacheEnabled: Turn Xml caching of content on/off. Umbraco Makes heavy use of caching content in memory to avoid database calls. This makes umbraco faster and more efficient. You should not in any way turn this off, unless you have a very good reason to do so. It will make your website very slow.

    I'm not sure cache would help because the problem is Umbraco generating the umbraco.config file in the first place.

  • Alex Skrypnyk 6163 posts 24143 karma points MVP 8x admin c-trib
    Jun 10, 2016 @ 16:29
    Alex Skrypnyk
    0

    Hi Ron,

    Sorry for late response.

    Try to set ContinouslyUpdateXmlDiskCache to false for preventing updating the cache during changing pages.

    As I understand problem with generating umbraco.config

    I suggested to you - don't use umbraco.config, if site is slow without using umbraco.config - try to rewrite some logic and add serverside cache at views or at controllers level.

    Cheers,

    Oleksandr Skrypnyk

  • Alex Skrypnyk 6163 posts 24143 karma points MVP 8x admin c-trib
    Jun 14, 2016 @ 14:29
    Alex Skrypnyk
    0

    Hi Ron,

    Did you solve the issue?

  • MuirisOG 382 posts 1284 karma points
    Jun 15, 2016 @ 13:35
    MuirisOG
    0

    Hi Ron,

    I would also be very interested in finding out how you got on.

    I would be as happy getting the data from the database as from the umbraco.config file.

    Thanks, Muiris

Please Sign in or register to post replies

Write your reply to:

Draft