directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ashish <>
Subject Re: [GSoC] Protocol performance testing framework
Date Wed, 01 Apr 2009 13:18:15 GMT
> Please excuse the cross post but this proposal for a Google Summer of Code
> project applies as much to Apache MINA as it does to Apache Directory.  The
> idea is very simple, you have the following components:
>   (1) A MINA protocol server that is being tested.
>   (2) A MINA IoFilter for statistics collection for use in any MINA protocol
> server.  This filter may collect information from the system, the JVM and
> from MINA itself.  It can sample this information and push this information
> into the statistics collector (#4 below).  It will probably expose some out
> of band socket for communcation and control.

We can use JMX to collect stats.

>   (3) A load injecting agent which can accept PDU's or a sequence of PDU's
> to inject into the MINA protocol server.  Several of these may be
> instantiated on different hosts to generate load on the server.  The PDU's
> are prepared and supplied in advance before begining a test from the agent
> control UI (#4).  These agents have a socket channel for command and control
> from the Agent Control UI.  They will all be started together to start
> generating load against the server.  PDU's are supplied to keep these agents
> ignorant about the protocol being used.  This way the control UI can be used
> to prepare PDU's in advance.

Couple of options here -

>From the web site

"The Software Testing Automation Framework (STAF) is an open source,
multi-platform, multi-language framework designed around the idea of
reusable components, called services (such as process invocation,
resource management, logging, and monitoring). STAF removes the tedium
of building an automation infrastructure, thus enabling you to focus
on building your automation solution. The STAF framework provides the
foundation upon which to build higher level solutions, and provides a
pluggable approach supported across a large variety of platforms and

>   (4) Agent control UI and statistics collator.  This is the command center
> that communicates with the agents to tell them what PDUs to send to which
> endpoints and at what frequence if things cycle.  This agent also gathers
> statistics from all the agents to get client latency information as well as
> to generate overall throughput statistics from the time collated data
> obtained from all the load inject agents/clients.  It also controls the
> sampling rate of the IoFilter injected into the server and collects data
> from it to correlate memory usage, CPU, server side latencies and other
> factors effecting server performance.

May be STAF can be a solution. Have not used it

> We at Directory were thinking of building something like this for LDAP but
> then quickly realized that we also need this for DNS, DHCP, Kerberos, and
> ChangePassword and anything else we may snap into the server.  We're sure
> any other protocol could benefit from this as well.  So it might be a good
> idea to combine efforts while giving the many GSoC students we've had
> responses from a chance to do something more at other Apache Projects.  Plus
> we have a few RCP developers at Directory one of whom was willing to lend a
> hand to help build the basis for the agent control UI and statistics
> collector.
> So if students and others are interested in this I'm sure something could be
> built by the end of summer that will be useful to anyone using MINA.


View raw message