Skip to content

v9.2.0 - Performance

Compare
Choose a tag to compare
@KevinJump KevinJump released this 21 Feb 11:22
· 31 commits to v9/main since this release
0e3aec9

This is a minor release of uSync 9 for Umbraco 9 that addresses some speed issues with saving on large sites, and adds support for syncing the CleanupHistroy settings on ContentTypes introduced in Umbraco 9.1.

Highlights

Speed improvements on large sites.

For v9.2 and v8.11 - We received some reports of uSync impacting save/move/delete options on very large sites (1000's pages). (HT @prjseal)

Based on this feedback we have optimised how uSync checks for clashes and duplicates and reduced the amount of disk activity around these processes. If you have a site with a lot of content on slow disks (e.g. azure) you should notice a significant improvement in save/delete and move times with these releases.

One of the choices we made early on with uSync was to have the uSync folder largely readable, (so you could actually see what is going on). However this does lead to some issues, for example whenever you rename or move an item, we have to check to make sure there isn't a uSync file somewhere on disk that could be the same item. this CleanUp code is quite disk intensive, and when you have a lot of content a lot of files are read to check for these clashes.

however the reality is for the default configuration we don't need to do all of the checks - as a result we have optimized just when and where the clean-up code called to reduce the load on most setups.

n,b for extra large sites recommend using "Flat File structure and Guid File names" this completely eliminated these checks making it even faster.

For more information we have written a documentation page for performance tuning uSync on larger sites.

History Clean-up support

Introduced in Umbraco 9.1 / 8.18.0 - History clean up lets you control how many versions of content are kept and for how long. This is achieved via additional settings on the ContentType. uSync v9.2/v8.11.0 now support serializing this as part of the sync process.

Fixes

  • #347 Improve performance on save/move/delete for large sites
  • #348 Renaming and then deleting a content type produces a rouge clash when reporting changes
  • #351 when Published items moved to the trash uSync will attempt (and fail) to publish them when syncing on target site
  • #349 After a content item is renamed the Friendly path stored in the config file still uses old name
  • #350 Moving a content type from a folder to the root is not reflected in sync
  • #343 uSync import will fail if you swap the alias of two doctypes

Update

  • #346 Support HistoryCleanup properties on ContentTypes
  • #342 Improve the readability of the details panel
  • #341 Include path in sync action for better UX.

This is a major minor release of uSync that moves the code base to multi-targeting dotnet 5 and 6 . we have made this change to smooth the way to supporting both Umbraco 9 (.net 5) and Umbraco 10 (.net 6) within the same package.

(Milestone : https://github.com/KevinJump/uSync/milestone/8?closed=1)

Features

  • #338 - Multi-target package (Umbraco 10 prep)
  • Migrate soon to be obsolete AddUnique to AddSingleton (Umbraco 9.3 prep)

Fixes

  • Remove history settings
  • Consistent line endings in config files, (fixes false positives if you compare uSync files generated on windows and Linux)
  • #337 Ensure we parsing of path variable works in all cultures
  • #335 Ensure items with same name but different location in tree don't overwrite uSync files.

Get uSync

usync 9 is distributed as a nuget package and can be added to your site in a couple of ways.

via dotnet add

via a command line you can add uSync

dotnet add package uSync  --version 9.2.0

as a package reference

You can add the dependency directly to your projects .csproj file.

<ItemGroup>
  <PackageReference Include="uSync" Version="9.2.0" />
</ItemGroup>

via Visual Studio package manager console

If you are old school . install-package still works

install-package uSync -version 9.2.0.