Hi students and potential MINA mentors,

I had a couple conversations with a few peeps that wished they had a month
or two to write a slick new framework for load testing MINA based
applications while using MINA itself to write the framework.  My experiences
with MINA and various crappy tools out there make me realize that
performance tuning a network application is half the battle.  I know others
probably feel the same.

Then all this GSoC stuff is going on and the idea occurs to one of us (not
me it was Emmanuel's idea) that we can make this a nice tight discrete
project where a student can accomplish this task while learning about MINA
and getting involved in our community.  This is just a win win situation.

The idea is simple.  We have a set of load injecting worker processes that
are coordinated by managers on each load injecting host.  The managers
simply control the life cycle of worker processes and get their orders to do
so from a data collecting and collating server with a management console.
This requires some kind of simple control protocol which can be written
using MINA.  For the console I dream of a slick GWT interface where you can
launch tests and control injector hosts.  Oh the fun you can have with
statistics etc ... anyways back from dream land ... Ideally separate
managers reside in a set of load injecting machines and the system under
test resides on yet another.  Likewise the console server can run on a
separate machine as well.  The clients funnel data to the collating server
for jobs and are network applications that likewise can be written using
MINA.  Regardless of the topology used this is the general model presented
by may performance testing frameworks like Grinder and SLAMD.

The neat thing is some frameworks can even start running optimizations where
parameters are varied to find optimal running conditions.  I'd like to do
this too but perhaps also have an agent in the tested application as a
Filter probably to both monitor and influence the application.  This makes
the server more of a white box than a black box undergoing testing from the
outside.  It could for example vary standard MINA server parameters to find
optimal settings while monitoring server process information like memory and
thread usage etc.  There are many possibilities here.  We could even use
Genetic Algorithms and Optimization Algorithms to control and influence the
optimization process - ok getting carried away.  For starters of course this
feature may not be present :D.  However the idea is the student can take
this as far as they like.

The bottom line is this is a great project for a student interested in using
MINA to tune MINA while getting their feet wet and involved in this
community.  MINA users will now have a framework they can use and hopefully
contribute back to.  Everyone is happy.

Thoughts?

Anyone interested in mentoring or taking on this project as a student in
GSoC?

Thanks,
Alex

Reply via email to