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.
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
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.