Alex Karasulu wrote:
Hi all,
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.
(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.
(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.
Is there some specific reason for not using the Grinder?
http://grinder.sourceforge.net/index.html
I used it a couple of years ago and was pleased with it. The only thing
we needed to add before getting to actual testing was some shell scripts
to start the agents over SSH.
--
Eero Nevalainen