3

I have identified a performance issue with our S3 ECL provider. Its an improvement based on https://github.com/vikaskumar185/S3ECLProvider

I am seeing Tridion is downloading thumbnails into ~SDLWeb\web\WebUI\WebRoot\ThumbnailCache for every subsequent request when we open directories in CMS mount point. (i mean to say when a fresh browser opened)

So in production scenario Tridion is not at all using the etag thumbs from cache folder and consuming lot of CPU% while generating thumbs for every request.

I can confirm thumb cache utilization is good in case of the images uploaded in tridion.

So how to prevent Tridion from calling below method when thumb is already available in cache.

public byte[] GetThumbnailImage(IEclUri eclUri, int maxWidth, int maxHeight)
 { 
     // if IsThumbnailAvailable of IContentLibraryListItem is set to True 
     return S3Provider.HostServices.CreateThumbnailImage(maxWidth, maxHeight, ms, null);
     //or
     return null;
 }

Version: SDL Web 8.5

1 Answer 1

3

By design ECL will refresh thumbnails when either:

  • The etag change
  • The version of the ECL provider change

I can't remember if it will also regenerate when the version of ECL (so Tridion) changes.

Typically I would expect this behavior if the etag is not calculated identically each time.

To verify it, identify a cached thumbnail to check. Rename it to old.zip or something similar. Browse the folder again in Tridion giving a new thumbnail. Rename this to new.zip.

Open both zip files. Inside this you should see a text file (or maybe XML/JSON, can't remember for sure - and unfortunately I can't remember the name either) containing the etag and provider version. Compare these two files. If the content is identical, contact support. If the etags are not identical, then this is the reason for the regeneration, and you will need to fix that in your provider. I can't see anything obviously wrong with the linked provider source code, but you would need to check this with a debugger if it gives unexpected results.

1
  • Thanks Lars, As an update, I see ETag.txt contains string which looks like timestamp in GMT Old= 20191210174535, new = 20191210174734; And this time represents the thumbnail download time, So you think it should be same every time? Or Etag should contain another unique value instead of timestamp string? Other file i see the same S3ECLProvider version in both files Commented Dec 10, 2019 at 17:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.