Where is it spending the time?
If most of the time is spent during the commit, either updating the jms persistent
store or the synching with the database for ejb db operations, it is quite likely
that one MDB instance can cope with the load.
The EJB instance is only used for the duration of the onMessage() method.
It can be reused for another request after that message returns.
In any case, changing the number of MDB instances will have little affect if
you don't also update the max number of jms sessions for the MDB (15 is the default).