I found that PERSISTENT message have much slower performance than NON_PERSISTENT message. I sent and received non_persistent messages and the performance is as follows.
Method Number of Msg Elapsed Time
Sending - 500 messages - 00:00:0332
Receiving - 500 messages - 00:00:0281
I sent and received persistent messages and the performance is as follows.
Sending - 500 messages - 00:07:0688
Receiving - 500 messages - 00:06:0934
This behavior happens in both MQMessage and JMSMessage.
Thank all people helping me out the problem.
Special thanks to Shashi, T.Rob and Pangea.