Home
Appeon 6.6 Prev Page Prev Page
Appeon Performance Tuning Guide
Appeon Performance
Expected performance level
Automatic performance boosting
Impact of the Internet and slow networks
Impact of “heavy” client-side logic
Impact of large data transmission
Performance-Related Settings
Overview
Appeon Developer performance settings
Appeon Enterprise Manager performance settings
Timeout settings
DataWindow data caching
Multi-thread download settings
Custom Libraries download settings
Log file settings
Internet Explorer performance settings
Web and application server performance settings
SAP Sybase EAServer
JVM startup option
Configuring data sources
HTTP properties
Microsoft IIS server
Recommendations for avoiding common errors on IIS
Advanced thread settings
Database performance settings
Recommended database driver
Recommended database setting
Identifying Performance Bottlenecks
Overview
Heavy window report
Appeon Performance Analyzer
Getting Started
Enabling Appeon Performance Analyzer
Starting Appeon Performance Analyzer
Getting to know Appeon Performance Analyzer
Removing Appeon Performance Analyzer
Working with Appeon Performance Analyzer
System Configuration
Calls Analysis
Download Analysis
View Detail
Additional Functions
Testing Appeon Web applications with LoadRunner
LoadRunner
General Limitations on Performance Testing
Testing Environment
Testing Steps
Configuring AEM
Data Preparation (for update only)
Preparing Test Cases
Recording Scripts
Modifying Scripts
Additional steps for Update operation
Parameterization of SQL statements
Playing back Script to test the correctness of scripts
Setting Scenarios
Additional steps for Update operation
Running Scenarios
Appendix
Modifying the scripts of NVO
Modifying the scripts of EJB/JavaBean
Troubleshooting
Errors appear when playing back scripts with LoadRunner 8.0
The value of sessionID is null
Error message appears in script playback
Error message in Appeon Log
Failed to parameterize scripts
Out of memory error and application server shut down
Field values do not change after parameterization and playback
Runtime errors causing scenario failure
Transactions failed
Unable to connect to remote servers
Analyzing log files
Analyzing Windows application log files
Analyzing Appeon Server log files
Analyzing active transaction log
Identifying Performance Bottlenecks of Web Server and Application Server
Identifying Performance Bottlenecks of DB Server
Deadlock analysis
Identifying Performance Bottlenecks of PB application
Analyzing performance bottlenecks of PB application
Tuning: DB Server
Database
Tuning: Excessive Server Calls
Overview
Technique #1: partitioning transactions via stored procedures
Technique #2: partitioning non-visual logic via NVOs
Technique #3: eliminating recursive Embedded SQL
Technique #4: grouping multiple server calls with Appeon Labels
Tuning: Heavy Client
Overview
Technique #1: thin-out “heavy” Windows
Technique #2: thin-out “heavy” UI logic
Manipulating the UI in loops
Triggering events repeatedly
Performing single repetitive tasks
Initializing “heavy” tabs
Using ShareData or RowsCopy/RowsMove for data synchronization
Using computed fields
Using DataWindow expressions
Using complex filters
Using RowsFocusChanging/RowsFocusChanged events
Technique #3: offload “heavy” non-visual logic
Tuning: Large Data Transmissions
Overview
Technique #1: retrieving data incrementally
For Oracle database server
For all other database servers
Technique #2: minimizing excessive number of columns
Conclusion

Automatic performance boosting

Appeon has a number of features built into its infrastructure/framework to instantly or automatically boost the performance of PowerBuilder applications when deployed to the Web. Many of these features are always on and transparently working in the background to boost performance. Other features are user-selectable and must be configured. The following table is list of these features and the configuration of these features is covered in Chapter2, Performance-Related Settings.

Performance Feature

Description

Location

Just-in-Time Downloading

As the application is run and various windows are opened, only the Web files required for that particular window are downloaded at that point in time. Once the Web files are downloaded, they are cached in the Internet Explorer temporary files folder and are not downloaded again.

Appeon Infrastructure

10X Web File Compression

All JavaScript files are compressed by as much as 10X, then the compressed version of the file is downloaded over HTTP to the Web browser.

Appeon Developer

10X Data File Compression

For each DataWindow or DataStore retrieval, the result set is first retrieved by the application server, automatically compressed by 10 times in most cases, and then downloaded over HTTP to the Web browser. Utilizing AJAX technology, only the DataWindow or DataStore is refreshed and the rest of the screen remains intact.

Appeon Infrastructure

DataWindow Data Caching

For each DataWindow or DataStore, the developer has the option of enabling caching of the result set. Appeon enables caching at the application server, Web server, and Web browser so every tier of the Web architecture is benefiting from the best performance and scalability possible.

Appeon Enterprise Manager

Merge files

Merges multiple JavaScript files into a single file to reduce the number of HTTP requests and corresponding overhead.

Appeon Developer

Multi-thread Downloading

Downloads are multi-threaded to boost the application runtime performance.

Appeon Enterprise Manager

Custom Libraries Downloading

Any custom libraries can be automatically downloaded and installed with your Web application, or if the libraries are very large in size, you can disable this feature and distribute the libraries some other fashion.

Appeon Enterprise Manager

Database Connection Pooling

By deploying to a true n-tier Web environment with Appeon, you can take advantage of Database Connection Pooling, a feature of most application servers. Connection Pooling does exactly that, it establishes a pool of connections to your database, which is shared among your clients. So rather than each client having its own dedicated connection to the database, a fewer number of connections can be rotated among all the users. For large deployments with thousands of clients this can boost database scalability noticeably.

Appeon Infrastructure