yes it looks normal-ish
but it all depends on what are your transactional objects, aka how much data is part of every transaction.
Given how many transactions you have that makes about 400Kb/transaction which is not that much.
so basicly, if possbile lover the amount of data that participates in transaction or get a faster hard drive
for more info on how transaction service works or how to tune it, probably guys from transaction team can help much better here...
A JTA tx log record is in the region of 600 bytes. On HDD you'll hit a limit on the number of syncs the drive can handle before you saturate its bandwidth. With SSD or the HornetQ journal based store different limits may apply.
Note that depending on the filesystem implementation the fs barriers and journaling code may cause the entire write queue for the fs to be flushed on sync, rather than just the log file data. Put the tx log on a dedicated filesystem and measure the traffic for that fs to ensure you're seeing only tx related load.