If you're using default producer config values you can turn some knobs
there to get more performance most likely.
|max.message.size| (maybe try setting this to 2MB or 4MB)
|compression.codec (try gzip or snappy compression if you aren't already)
| |batch.size (divide max.message.size by your message size and leave
some padding in case you have a larger message: try 1000 for starters
but use a max.message.size > 2MB)
queue.size| (tune this and queue.time if the above doesn't get you where
you need to be)
Hopefully this helps!
On 10/31/12 11:16 PM, Pankaj Misra wrote:
> Dear All,
> I am using async producer to publish event messages to a topic. Each message is about 2KB in size and I intend to publish about 1 million messages, i.e. about 2GB of message volumes.
> This publish of event messages happens while consumer is not active. So my expectation was that the messages would be internally flushed to files and would be held till the consumer gets active. However when I ran the async producer to publish 1 million of such messages, after a few thousands of messages (about 30000) I am getting an exception indicating that the event queue is full. I also observed that after this exception if I run the consumer, the consumer is able to consume lesser messages (less than 30000), which also indicates that some messages got lost due to the event queue being full.
> While I do understand that this may be happening since the producer is producing event at a higher rate than broker can handle, I was hopeful of tweaking the parameters in the server.properties for messages and log file sizes, but I am not able to figure out what exact parameters will I have to tweak.
> I would greatly appreciate community's support here in helping me out.
> Thanks and Regards
> Pankaj Misra
> Impetus Ranked in the Top 50 India’s Best Companies to Work For 2012.
> Impetus webcast ‘Designing a Test Automation Framework for Multi-vendor Interoperable Systems’ available at http://lf1.me/0E/.
> NOTE: This message may contain information that is confidential, proprietary, privileged or otherwise protected by law. The message is intended solely for the named addressee. If received in error, please destroy and notify the sender. Any use of this email is prohibited when received in error. Impetus does not represent, warrant and/or guarantee, that the integrity of this communication has been maintained nor that the communication is free of errors, virus, interception or interference.