[OTDev] OpenAM performance

Vedrin Jeliazkov vedrin.jeliazkov at gmail.com
Tue Jul 5 17:51:10 CEST 2011


Hi again,

On 5 July 2011 16:09, Vedrin Jeliazkov <vedrin.jeliazkov at gmail.com> wrote:

> As the number of policies in our test setup grows, this rough
> estimation is confirmed:
>
> 10000 policies require about 1 GB of RAM allocated to the OpenDJ service

The RAM allocated to the OpenDJ directory server seems to be the major
bottleneck. However, it is also interesting to investigate the CPU
usage averaged over a longer period of time. Here are the figures for
the last 3 hours of stress testing:

OpenDJ: 4691 seconds
OpenAM+Policy+Ambit2: 327 seconds
MySQL: 33 seconds

This gives a ratio of 142:10:1. Please note that I've added indexes to
the pol table in MySQL which has helped reducing MySQL CPU
requirements and the overal latency of the service.

Given these figures I think that there could be a certain benefit in
hosting OpenDJ on a separate server (virtual or not), not just in a
separate JVM instance. It also looks like that it can be tuned to hold
the entire directory in memory. To achieve higher throughput the
server should have the fastest possible memory bus and RAM, as well as
a multi-core processor.

BTW, OpenDJ has a very complex configuration with a lot of parameters
that can be tweaked. I've already tried adjusting some of these
parameters according to hints I found on the web, however any advice
on further optimisations would be most welcome, since I'm not an
OpenDS/OpenDJ/LDAP expert.

Kind regards,
Vedrin

PS: We have 45K policies installed already and the test instance still
has lower latency than the production one :-)



More information about the Development mailing list