Copied to clipboard

Flag this post as spam?

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


  • Sean Parsons 23 posts 38 karma points
    Sep 27, 2009 @ 21:53
    Sean Parsons
    0

    Whole site in XML?

    Another quick question.

     

    I'm looking at the structure of my site and started wondering if the WHOLE sites structure is loaded into XML on each page hit.

    I realise that the XML pointer is set to the node that the current page is on, but is every other node site-wide available and loaded at that time?

    I ask as there is a potential for a lot of pages being present in the site - especially if it's an online store type application...

     

    Thanks,

    Sean

  • Soeren Sprogoe 575 posts 259 karma points
    Sep 27, 2009 @ 22:46
    Soeren Sprogoe
    0

    Hi Sean,

    take a closer look at the file /data/umbraco.config. That's basically what the frontend is using, thus avoiding having to query a database a lot just for reading stuff.

    The XML is (re)generated every time you publish stuff from the backend, so it will always contain the latest version of the content. Not sure if it is fully regenerated, or only parts of it.

    Regarding sites with tons of content, I can't help you with any specifics there. Other than I know that there's a lot out there, so it shouldn't be much of a problem.

    Anyways, just wanted to point you to the Umbraco.config file. It tells you a lot about the structure behind Umbraco, if you know how to read stuff like that.

    Best regards,
    Soeren Sprogoe

  • Nagaraj 1 post 21 karma points
    Sep 28, 2009 @ 07:32
    Nagaraj
    0

    Hi Soere,

    Is it good to always keep the whole XML contents in memory?

    Thanks,

    Nagaraj

  • Chris Houston 535 posts 980 karma points MVP admin c-trib
    Sep 28, 2009 @ 10:38
    Chris Houston
    0

    Hi Sean / Nagaraj,

    From my understanding that is exactly what Umbraco does, it stores the XML in memory ( application wide not on a session by session basis ) which is the reason the performance is lightning fast even on large installations with thousands of pages & users. It also means you can scale to multiple servers by publishing the umbraco.config file onto multiple servers.

    This also in theory allows you to have one server that has the Umbraco front end which is secure and multiple servers that do not have access to the database (as they only need the umbraco.config file)

    Best regards,

    Chris

  • Dirk De Grave 4541 posts 6021 karma points MVP 3x admin c-trib
    Sep 28, 2009 @ 10:46
    Dirk De Grave
    0

    @Chris: don't you run into issues when getting media items this way? i still think your server that serves the front end still needs access to the server for these kind of tasks?

     

    Cheers,

    /Dirk

  • Soeren Sprogoe 575 posts 259 karma points
    Sep 30, 2009 @ 10:09
    Soeren Sprogoe
    0

    @Nagaraj: I'm no expert, but I'd say Yes!

    Having all of the content in memory makes the whole frontend lightning fast (as Chris says), as it would take 10 times more ressources to retreive content from the database.

    And looking at the size of Umbraco.config, it really doesn't take up that much memory.

    /SoerenS

  • Shannon Deminick 1526 posts 5272 karma points MVP 3x
    Oct 01, 2009 @ 10:06
    Shannon Deminick
    0

    The Umbraco.config file is used to persist the xml structure into cache so that the system doesn't need to rebuild the entire xml heirarchy when the application pool restarts. If you remove this file, then the heirarchy will be reconstructed from scratch when the app restarts which consumes a bit of resources.

Please Sign in or register to post replies

Write your reply to:

Draft