Chapter 5. Designing and configuring for performance 101
Client application design impact on performance
The design of the client application can have a significant impact on
performance. When building and testing the client application, be sensitive to the
design and capabilities of the overall system. This includes the network that
carries the data between distributed system components.
Content Manager supplies two general-purpose clients (Windows client and
eClient) and a list of APIs and application components that can be assembled to
customize client applications. There can be many variations of client
applications, which we will discuss in general. Usually, there is not much to tune
on a client application after it is built. Most client performance issues are related
to the design and the APIs that are used to implement the application. As with all
application tuning, the biggest gains in performance come from well-designed
client applications.
Design the client applications to take best advantage of the servers’ capabilities
and to minimize their limitations. For example, it is possible to store image files as
binary large objects in the Library Server database and store nothing on the
Resource Manager. This is possible, but it does not take advantage of the
Resource Manager’s capabilities, but increases the load on the Library Server.
There might be circumstances where this is the most appropriate design,
although we cannot think of any.
Most of our discussion and scenario performance tuning covers a two-tier
application. The same considerations should apply for n-tier applications, at least
from the Content Manager Connector, and down to the server. Other tiers can
have an impact and should be tuned accordingly.
5.3 Configuration choices and trade-off
An important aspect of planning a new system is to understand the configuration
choices and trade-off. In this section, we include some of the important
configuration and application design choices, and their implication to system
performance. This material is an extraction from IBM Content Manager V8.2
Performance Tuning Guide, which can be found at:
http://www.ibm.com/software/data/cm/cmgr/mp/support.html
Search for “performance tuning guide” under white papers.
Content Manager configuration choices and the performance trade-off:
Web clients or desktop clients?
– Web clients are typically easier to deploy and maintain.
102 Performance Tuning for Content Manager
– Desktop clients typically have faster response time and more functionality.
For Web clients: direct retrieve or mid-tier conversion?
– Direct retrieve is faster and more scalable.
– Direct retrieve might require browser plug-ins or viewer applets.
For Web clients: direct connect or federated access?
Federated access is slower than direct connection to Library Server, but more
flexible supporting search across heterogeneous back-end servers.
For Web clients: connection pooling?
– Connection pooling makes more efficient use of Library Server resources.
– Scales to larger number of Web clients.
– Allows more control of mid-tier impact on Library Server resources.
Out-of-the-box client program or custom client program?
– A custom client program can be tuned to your exact business requirements.
– Out-of-the-box client already includes the latest general-purpose tuning.
For custom client: beans or Java/C++ API?
– Beans implement only the document models.
– Beans support rapid application development with a federated “reach.”
– Java/C++ APIs have the best performance.
For Java/C++ API custom clients: document data model or custom data model?
– A custom data model can be tuned to your exact business requirements.
– Data model already includes the latest general-purpose tuning.
Document routing or advanced workflow?
– Document routing has better performance and higher scalability.
– Advanced workflow has more functions unavailable with document routing.
Versioning?
– Versioning increases the Library Server database size.
– Accessing current version is faster than accessing previous versions.
Text search?
– Text indexes increase the Library Server database size.
– Indexing text content reduces scalability as content must be retrieved from
the Resource Manager.
Unicode?
– There is a substantial performance penalty for Unicode-enabling the
Library Server.
– Avoid using this feature unless you need the functionality.
Get Performance Tuning for Content Manager now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.