I have a project using RabbitMQ. It can receive 3000 messages per second in the best case. Here is my consumer code: \[code\]package com.mdnaRabbit.worker;import java.io.IOException;import java.math.RoundingMode;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import com.rabbitmq.client.ConnectionFactory;import com.rabbitmq.client.Connection;import com.rabbitmq.client.Channel;import com.rabbitmq.client.QueueingConsumer;import com.mdnaRabbit.worker.data.Data;import org.apache.commons.lang.SerializationUtils;public class App { private static final String TASK_QUEUE_NAME = "task_queue"; private static int i = 0; private static long timeStart; private static long timeFinish; private static long messPerSec; public static void main (String[] argv) throws IOException,InterruptedException{ ExecutorService threader = Executors.newFixedThreadPool(20); ConnectionFactory factory = new ConnectionFactory(); factory.setHost("localhost"); Connection connection = factory.newConnection(threader); final Channel channel = connection.createChannel(); channel.queueDeclare(TASK_QUEUE_NAME, true, false, false, null); System.out.println(" [*] Waiting for messages. To exit press CTRL+C"); channel.basicQos(50); final QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicConsume(TASK_QUEUE_NAME, false, consumer); timeStart = System.currentTimeMillis(); try { while (i<100000) { try {QueueingConsumer.Delivery delivery = consumer.nextDelivery(); Data mess = Data.fromBytes(delivery.getBody()); System.out.println(" [" + (i++) +"] Received " + mess.getHeader()); channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false); }catch (Exception e){ } } } catch (Exception e){ e.printStackTrace(); } timeFinish = System.currentTimeMillis(); messPerSec = Math.round ((i*1000)/(timeFinish - timeStart)); System.out.println( "receives " + messPerSec + " per second"); channel.close(); connection.close(); }}\[/code\]As you see I'm using ExecutorService to increase the speed and channel.basicQos(), but it doesn't help me much. Is there a way to increase receiving/sending speed(the sending speed increasing I think is the same with the receiving speed)