A comment indicated there may be an issue with Contour when used in load balanced scenarios that use DFS (that is how my site is setup). However, they didn't offer any specifics. Any idea what I might look for to figure out this speed issue?
It links to this page that lists DFS hotfixes for Windows Server 2012 and Windows Server 2012 R2. Since I'm using Windows Server 2012 R2, I focused on those hotfixes. I ran some PowerShell commands to see if they were installed:
I found that some were not installed. We will be installing them manually (they didn't seem to appear in Windows Update). I will report back if this helped or not.
Umbraco was writing to that file several hundred times per submission. I suspect that is proportionate to the number of fields in the form.
In my case, that file had grown to over 100MB. DFS threw a hissy fit having a 100MB+ file written to several hundred times over a short time, which caused the CPU to spike.
I deleted that file, and the submission was much faster (around 8 seconds). Still not as fast as it should be, but definitely an improvement.
Cause
The real cause is Umbraco's crummy licensing system. Because I have a few subdomains to directly access the load balanced servers (think "server1.agency.com" and "server2.agency.com") and because those subdomains are not on the primary domain (think "www.site.com"), Contour interprets access to the website over those subdomains to be unlicensed. Additionally, Contour seems to cache the fact that those subdomains are unlicensed, so that even when you submit forms on the primary domain, it writes log entries indicating that an unlicensed version of Contour is being used.
Solution
There are four solutions we're thinking of trying:
Add the other subdomains to the license. Costs money, but is cheaper than developer time.
Create a script that deletes that file periodically (say, every minute), if it is present.
Exclude that file from DFS replication (not sure if that's possible, but it should be).
Ask the Umbraco team to create a fix for Contour (note: not for Umbraco Forms) that resolves this issue.
Contour Submissions Extremely Slow
I have a Contour form taking 40+ seconds to submit, and I'm not sure why that is.
Came across this, which mentioned something promising: http://www.mayflymedia.co.uk/blog/umbraco/speeding-up-umbraco-contour-by-800-percent/
A comment indicated there may be an issue with Contour when used in load balanced scenarios that use DFS (that is how my site is setup). However, they didn't offer any specifics. Any idea what I might look for to figure out this speed issue?
Contour 3.0.27. Umbraco 7.2.6.
Somebody here thinks this may be related to DFS, though they are unsure of why and didn't seem to have a solution to the problem: http://www.mayflymedia.co.uk/blog/umbraco/speeding-up-umbraco-contour-by-800-percent/
Has anybody encountered an issue with Contour forms slowing down on environments that are load balanced and that have files copied using DFS?
It seems this person was on the right track. Here's what the CPU looked like during a submission of the Contour form:
I came across this page, which indicates the fix may be to install some Windows Updates particular to DFS: https://social.technet.microsoft.com/Forums/windows/en-US/c5cb1869-9edc-4cef-98aa-88723e187313/windows-2012-r2-dfsrs-very-high-cpu-when-creatingdeleting-files
It links to this page that lists DFS hotfixes for Windows Server 2012 and Windows Server 2012 R2. Since I'm using Windows Server 2012 R2, I focused on those hotfixes. I ran some PowerShell commands to see if they were installed:
I found that some were not installed. We will be installing them manually (they didn't seem to appear in Windows Update). I will report back if this helped or not.
In my case, three of the updates were not installed. I installed two of them, and the third said it was not applicable for the system.
Didn't seem to help. When the form is submitted, DFS still pegs the CPU for a minute or two.
Figured out the issue: umbraco.licensing.log.txt
Problem
Umbraco was writing to that file several hundred times per submission. I suspect that is proportionate to the number of fields in the form.
In my case, that file had grown to over 100MB. DFS threw a hissy fit having a 100MB+ file written to several hundred times over a short time, which caused the CPU to spike.
I deleted that file, and the submission was much faster (around 8 seconds). Still not as fast as it should be, but definitely an improvement.
Cause
The real cause is Umbraco's crummy licensing system. Because I have a few subdomains to directly access the load balanced servers (think "server1.agency.com" and "server2.agency.com") and because those subdomains are not on the primary domain (think "www.site.com"), Contour interprets access to the website over those subdomains to be unlicensed. Additionally, Contour seems to cache the fact that those subdomains are unlicensed, so that even when you submit forms on the primary domain, it writes log entries indicating that an unlicensed version of Contour is being used.
Solution
There are four solutions we're thinking of trying:
Troubleshooting Tips
I found FolderChangesView really useful when troubleshooting this issue: http://www.nirsoft.net/utils/folder_changes_view.html
It showed me that really the only files being changed were the Umbraco log and the Umbraco licensing log.
Also, I installed a bunch of hotfixes and all the Windows Updates on both servers and that didn't help at all. The real issue was that licensing file.
YouTrack issue submitted: http://issues.umbraco.org/issue/CON-853
is working on a reply...