Performance notes

To avoid performance hits on large sitetrees try to simplify them, and/or reduce number of sitetree items:

  • Restructure (unify) sitetree items where appropriate. E.g.:

    Home
    |-- Category "Photo"
    |   |-- Item "{{ item.title  }}"
    |
    |-- Category "Audio"
    |   |-- Item "{{ item.title  }}"
    |
    |-- etc.
    

    could be restructured into:

    Home
    |-- Category "{{ category.title }}"
    |   |-- Item "{{ item.title  }}"
    |
    |-- etc.
    
  • Do not use URL as Pattern sitetree item option. Instead you may use hardcoded URLs.

  • Do not use access permissions restrictions (access rights) where not required.

  • Use Django templates caching machinery.

  • Use fast Django cache backend.

    Note

    Sitetree uses Django cache framework to store trees data, but keep in mind that Django’s default is Local-memory caching that is known not playing well with multiple processes (which will eventually cause sitetree to render navigation in different states for different processes), so you’re advised to use the other choices.

    You can specify the cache backend to use, setting the SITETREE_CACHE_NAME on the django settings to specify the name of the cache to use.