However, we were unable to pinpoint the exact problem for quite some time. It was not so much a problem of reproducing the actual problem in the environment but rather an problem with finding the triggerpoint where the problem really started to present itself across the environment.
After applying the typical Performance tuning segments with regards to Caches, Indexes, Database maintenance plans and what more through: https://sdn.sitecore.net/reference/sitecore%207/cms%20performance%20tuning%20guide.aspx , we did notice an (expected) increase of site and backend performance.
However, we noticed that the problem persisted in the Media Library.
After this, the following tests were performed:
- Check IIS logs
- Check all available application logging
- Run the databasetest.aspx help page from Sitecore
- Run the dotTrace profiling tool (https://www.jetbrains.com/profiler/download/)
- Run the SQL profiling against the site databases
The above was all done in close collaboration with Sitecore support and resulted in the following:
The exact cause of the slowness (25+ seconds for an image upload) issue was caused since Sitecore creates media item versions in each language for any Unversioned media that gets created.
This produces a large number of save operations per a single media item, which, in our case took a total of about 17-18 seconds.
Since the above is obviously not standard behavior, this was registered as a bug in Sitecore 7.1 and upwards.
So this problem (as confirmed by Sitecore) is also present in Sitecore 8.1 update 1.
Sitecore provided us with a fix for this issue that brought image upload and handling back to 2-4 seconds (a 90% performance increase).
The fix number is 94414 and it was handled in support ticket 457609. If you need any more information, ask below or contact me directly, on the community or slack for Sitecore.
As media upload is not only handled by backend users, but can be triggered by application development as well as Webforms For Marketers (WFFM) this is a very relevant issue for all Sitecore implementors and users.
Note that the problem will only present itself when you make heavy use of languages in Sitecore. I'm guessing that, without the patch, the problem becomes noticeable once there are more then 5 languages active on the website.