In some instances, attempting to open a Business View takes longer than expected, indicating a possible performance issue. The scope of this answer is limited to the context of identifying an issue, then using server-side performance techniques to resolve the issue. 


Identifying The Issue

In environments with a high amount of HTTP traffic, or when large amounts of data are frequently being sent to the browser, pages may take 10 seconds or more to load. Most modern browsers come equipped with some variation of Developer Tools, which provide insight on possible issues you may face using Semarchy xDM. To illustrate how to benchmark a pages load time, we use Developer Tools in the Safari Web Browser to see details on how long a page takes to load, as well as the amount of data (form metadata) being loaded,  based on the request. The Network tab displays Transfer Size and Time, two key indicators which help quantify performance. A Transfer Size of 20Mb, coupled with a Time of 10s are ideal initial measurements of a poorly-performant environment, however, individual results will vary. Next, we'll briefly cover two methods for compressing form metadata, which directly affects page load time.

Image 1. Use Developer Tools for Benchmarking
Image 1. Use Developer Tools for Benchmarking

Method 1:  Compress the HTTP Response 

In the Server.xml file, modify the Connector section from the default

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

To modified version

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" compression="on" compressionMinSize="1024" compressibleMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json" />

 

Method 2:  (Modify caching) Change noCompressionStrongETag flag to false

Method two involves modifying the Etag header, which is used to sync caching.

Configure the Connector with a value of false for noCompressionStrongETag,as shown below.

<Connector port="443" protocol="HTTP/1.1"           URIEncoding="UTF-8"            maxThreads="150"            maxHttpHeaderSize="8192"            enableLookups="false"            disableUploadTimeout="true"            acceptCount="100"            scheme="https"            secure="true"            SSLEnabled="true"            clientAuth="false"            sslProtocol="TLS"            address="0.0.0.0"            useSendfile="false"           compression="force"            compressionMinSize="2048"            noCompressionStrongETag="false"           compressibleMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json"> </Connector>

 

References: Use the links below for more details on compression and cache modifications.

Benefits of enabling compression

Enabling cache filtering  

Implementing Tomcat cache control 

Performance Tuning HTTP Cache Headers 

Notes: 

V5.3.1 includes a fix (MDM-11892) Entity forms with a large number of references generate large HTTP responses.