Improving Application Performance

Iron Speed Designer generates a standard Microsoft .NET application, so in general the application load and scalability issues involved with Microsoft .NET applications also apply to your generated application.  Also note that Iron Speed Designer does not provide a server component; the application server is Microsoft Internet Information Server (IIS), so the load factors affecting the application are determined by Microsoft IIS.

Besides the machine configuration, several factors impact the application load including:

In general we have found that the aspect that effects load and scalability are completely related to the system (number of processors) and the amount of memory.

Finding performance bottlenecks

In certain cases, the application generated by Iron Speed Designer may run more slowly than anticipated.  You can turn on application tracing in your generated application's Web.config file to see where time is being taken in your application.  See the online help for the Web.config file for instructions on how to enable application tracing.  There are also instructions in the application's Web.config file itself.

Display Foreign Key As performance issues

Sometimes the Display Foreign Key As (DFKA) facility in your generated application takes longer to retrieve all the records than is desired.  You can change this behavior in the Display tab of the Properties dialog for individual filter controls on your application's web pages.  Specifically, you can choose "Populate All Values" or "Populate Only Values in Result Set".  Select "Populate All Values" to make your application run faster on a page-by-page basis.

If you have too many DFKAs on a page, then you may be better of joining the tables together instead of using the DFKA, because the DFKA facility reads the DFKA value one record at a time instead of using an underlying join.  For example, if there are 10 rows from the Orders table that are being shown with the Customer Id and Employee Id being shown as a DFKA, there will be 21 queries performed – one query to retrieve 10 rows from the Orders table, 10 queries to retrieve the DFKA Name for each of the 10 Customer Id’s, and 10 queries to retrieve the DFKA Name for each of the 10 Employee Id’s.  When using a table join, these 21 queries can be replaced by just one query.  Note that Iron Speed Designer caches often requested information to optimize performance, so the application may not necessarily perform all 21 queries each time the page is displayed. The best-case scenario when using DFKA is 1 query and the worst-case scenario would be 21 queries.

Smooth Panel Update performance issues

Some pages may be sped up by disabling the Smooth Panel Update feature.  This comes at the cost of application users having to guess when the postback or initial load is actually complete because Internet Explorer may indicate that the postback is finished when it really isn't.

Microsoft IIS web server performance issues

Some applications can be improved by making sure that Microsoft IIS caches static images and that Internet Explorer also caches static images.  

Some users have reported success using tools such as Cache Right (http://www.port80software.com) and HTTPAnalyzer from IEInspector, which analyzes traffic between the web browser and the server.

Microsoft .NET Performance

On a computer running Microsoft Windows NT, Windows 2000, or Windows XP, after you install Service Pack 1 (SP1) for the .NET Framework 1.0, you may experience slower performance when you run applications that were created by using ASP.NET and Visual Studio .NET.  There is a Microsoft Knowledge Base article that discusses this topic and suggests a remedy.

http://support.microsoft.com/default.aspx?scid=kb;en-us;324903

We recommend you install Service Pack 2 or later.

See Also

Performance Tuning

Improving Database Performance

Improving Application Performance

Improving Machine Performance

Improving Network Performance

View State Storage Options for Improving Performance

Session Management

Windows 2003 Application Performance Suggestions

Running Applications on Multiple Servers

Concurrent Application Users