Entries in Performance (6)
Sporadic SQL exception errors caused by Anti-Virus Software
Issue
If a Symantec Anti-Virus such as Symantec Endpoint Protection is installed and running on the WorkflowGen web server, you may experience sporadic SQL exception errors such as those listed below:
* Incorrect syntax near ''.* Must declare the scalar variable "@USERNAME".
Workaround
Disable Symantec anti-virus for Dll files or restrict the scan from verifying the WorkflowGen bin folders.
Data menu is showing up blank when clicked from an IE browser
Problem
The Data menu in an action running mode is showing a blank pop up dialog when clicked from an IE browser.
Explanation
If your IIS web server has the HTTP compression setting turned ON and users attempts to open the data list from the running action header menu in IE, a blank windows dialog will be displayed.
The data list uses client-side dynamic HTML functionality to download and display compressed information from the IIS web server which appears to have compatibility issues as indicated by Microsoft.
Workaround
The solution is to turn off compression on IIS for maximum compatibility. This applies to IIS version 6.0 and higher. Prior versions do not support HTTP Compression.
http://support.microsoft.com/kb/308168
References
BUG: When You Use Behaviors with Compressed Data in Internet Explorer, the data may not decompress
http://support.microsoft.com/kb/328498
Enabling/Disabling HTTP Compression:
Disable the Home Page counters to increase performance
Disabling the Counters on the Portal Home Page can increase its load time performance. To disable the counters you must modify the web.config parameter PortalHomePageDisplayMode as follows:
Setting the counter visibility on the Portal Home Page for each section.
(Note: By adding up several of the values together you can impact several sections.)
0 : Display all section counters according to their results
1 : Display a link only for the section "My current requests"
2 : Display a link only for the section "My actions to do"
4 : Display a link only for the section "Team to-do list"
8 : Display a link only for the section "Actions to assign to a person"
16 : Display a link only for the section "My requests closed since my last visit"
32 : Display a link only for the section "Follow-up of the current requests"
64 : Display a link only for the section "Follow-up of the current actions"
127 : Display a link for all sections (disables all counters)
Example
PortalHomePageDisplayMode="127" (Sum of all numbers above (0+1+2+4+8+16+32+64=127).
Slow .NET applications
Summary
On occasion .NET applications (such as the WorkflowGen web site or any applications created within WorkflowGen using .NET) may appear to slow down, sometimes for an extended period of time. This is caused by the .NET recompilation process under certain circumstances as described below.
Reproduction
This issue can be reproduced by doing a “cold boot” of the web server to simulate a “first load” scenario of the .NET applications.
- Reset IIS (using the iisreset command)
- Delete the files located in the directory:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files
- Start/launch a .NET application (like WorkflowGen) and then launch a web form
The application is only rendered/displayed once all the files have been regenerated in the “Temporary ASP .NET Files” directory.
Isolation
Deleting the files in the “Temporary ASP .NET Files” directory forces the .NET Framework to recompile the web applications.
Once the applications are recompiled, the loading of web applications returns to normal (until the next time that they need to be recompiled). Recompiling the web applications may be long.
It has been noted that the time to recompile these files is longer than when an antivirus scanner scans/rescans the newly generated files in the “Temporary ASP .NET Files” directory, which also adds more time to the web application load times.
Solution(s)
The recompilation of the .NET applications will occur if the service is restarted, the application pool is recycled, the worker process is stopped or a modification is done to the application source files.
To identify the impact that the antivirus scan will have on the performance of the recompilation, you will need to follow the steps above to reproduce the issue after stopping the antivirus software. If the performance returns to normal, we can only recommend to contact the software vendor or to modify the scan properties to analyse the “Temporary ASP .NET Files” directory in a different manner (or not at all).
If the performance is not affected and is at an acceptable level, we suggest that the following steps be followed:
- By default, IIS will stop any worker process of an application pool after 20 minutes of inactivity. We suggest deactivating this option. Please refer to:
- By default, IIS will recycle the application pools every 1740 minutes. This option may also be deactivated. In this light, we would suggest creating an application pool dedicated for WorkflowGen. Please refer to:
- It is possible to force the .NET applications to recompile after they have been modified to avoid long wait times after a “cold boot”. To force the recompilation, you must execute the following lines using the aspnet_comiler.exe program.
- %windir%\Microsoft.NET\Framework\version\aspnet_compiler.exe -v "/wfgen" 1
- %windir%\Microsoft.NET\Framework\version\aspnet_compiler.exe -v "/wfgen/WfApps/WebApps/eFormASPX" 1
- %windir%\Microsoft.NET\Framework\version\aspnet_compiler.exe –v "/wfgen/WfApps/WebForms/MyWebForm" 1
1 The virtual path is case sensitive
Examples
a. C:\windows\Microsoft.Net\Framework\v2.0.50727\aspnet_compiler.exe -v "/wfgen" 2
b. C:\windows\Microsoft.Net\Framework\v2.0.50727\aspnet_compiler.exe -v "/wfgen/WfApps/WebApps/eFormASPX" 2
c. C:\windows\Microsoft.Net\Framework\v2.0.50727\aspnet_compiler.exe -v "/wfgen/WfApps/WebForms/tracabilite_credits" 2
2 The virtual path is case sensitive
Increase WorkflowGen's performances with Oracle database
If the optimizer_mode is set to CHOOSE (by default in Oracle 9i an 10g), you have to frequently (weekly by example) "ANALYZE" all the tables of your databases. This operation will generate statistics used by the optimizer to select the best mode (RULE instead of all_rows) to run a SQL query.
Another solution is to set the optimizer_mode to RULE.