Well, it's certainly taken me a while to get to this, but I'm picking up from where I left off in my last post (Counting Down My Favourite Things about xCP 2.0).

 

We’re kicking off the list of my 20 favourite things about xCP 2.0 with something that’s technically not a feature of xCP, but it’s certainly something that I’m really excited about. (I’m not cheating either, since this is my favourite “things” list, not my favourite “features” list!)

 

xCP 2.0 will be released for General Availability alongside Documentum 7 in Q4 this year. The reason I’m excited about this is that xCP 2.0 will run on the D7 Content Server, and the performance improvements from D6.7 Content Server to D7 Content Server are huge.

 

I had the opportunity to speak with Patrick Walsh, Product Manager for Documentum Content Server, and he let me in on some of the details behind these improvements. I convinced him to co-author this post with me, so we’re going to share some of these details with you.

 

There are two significant performance-related enhancements that we made in D7:

  • Global Type Caching†
  • Intelligent Session Management

 

Global Type Caching

 

Type-heavy applications (and by type we mean object type) such as the ones created through xCP were hard on Content Server 6.7 (and prior) resources because each session included a full cache of all types. While that made it fast to retrieve type (along with any other data dictionary) information, as the number of sessions grew, the memory footprint continued to grow at a fairly linear rate.

 

With D7, we’ve modified the architecture so that each new session references a global type cache, which will serve up type information for all sessions, reducing the memory consumption per session.

type-caching-w-wo.PNG

This has not only resulted in fantastic results in terms of reducing our resource utilisation vis-à-vis CPU usage (reduced by 50%‡) and memory usage (40%+ reclamation‡), but also where it counts most: peak user concurrency and response time. The trend graph for concurrent user limits across an increasing number of types (200, 500, 1000) and incremental Content Server versions (D6.7 32-bit, D6.7 64-bit, D7 64-bit) shows the progressive improvements we have made with D7:

concurrent-user-limit.png

Response time was tested at three different data sets (200, 500 and 1000 types) at the respective peak concurrency levels (above) and D7 performance improvements as compared to D6.7 are significant as shown in the trend graph below:

cs-response-time-1.png

Intelligent Session Management

 

Intelligent Session Management significantly reduces the number of active content server and database threads. To explain how, let’s look at the session management architecture for Documentum:

intelligent-session-mgt.png

In D7 we dramatically improved the Context Switching – that’s the reuse of a session for more than one user – and as a result, we significantly reduced the session pool (#N above) at two layers. This allows us to scale the number of active user threads (#M above) with no significant change in response time so far in our tests (500 concurrent users‡).

 

Our preliminary in-house testing results tell the story on response time comparisons between D6.7 and D7.0:

cs-response-time-2.png

The implications of both these improvements are that a single Content Server will be able to support many more users, or more xCP applications than previous versions – even the earlier 64-bit versions. xCP Applications will also perform faster than ever before. The other implication is that the TCO of comparable 6.7 to 7.0 solutions are dramatically reduced as fewer Content Servers and less database resources are consumed.

 

Notes

†The Global Type Caching performance improvements are only available on Windows 64-bit environments.
‡Current tests have been performed at the DFC-level and results are not necessarily indicative of what a client application might see. Tests are underway to validate these numbers against what xCP applications might see.