Return-Path: Delivered-To: apmail-activemq-users-archive@www.apache.org Received: (qmail 25824 invoked from network); 11 Dec 2007 16:07:21 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 11 Dec 2007 16:07:21 -0000 Received: (qmail 46335 invoked by uid 500); 11 Dec 2007 16:07:09 -0000 Delivered-To: apmail-activemq-users-archive@activemq.apache.org Received: (qmail 46318 invoked by uid 500); 11 Dec 2007 16:07:09 -0000 Mailing-List: contact users-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@activemq.apache.org Delivered-To: mailing list users@activemq.apache.org Received: (qmail 46309 invoked by uid 99); 11 Dec 2007 16:07:09 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 11 Dec 2007 08:07:09 -0800 X-ASF-Spam-Status: No, hits=2.6 required=10.0 tests=DNS_FROM_OPENWHOIS,SPF_HELO_PASS,SPF_PASS,WHOIS_MYPRIVREG X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of lists@nabble.com designates 216.139.236.158 as permitted sender) Received: from [216.139.236.158] (HELO kuber.nabble.com) (216.139.236.158) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 11 Dec 2007 16:07:09 +0000 Received: from isper.nabble.com ([192.168.236.156]) by kuber.nabble.com with esmtp (Exim 4.63) (envelope-from ) id 1J27dA-0004tX-1l for users@activemq.apache.org; Tue, 11 Dec 2007 08:06:48 -0800 Message-ID: <14277066.post@talk.nabble.com> Date: Tue, 11 Dec 2007 08:06:48 -0800 (PST) From: Hellweek To: users@activemq.apache.org Subject: Re: ActiveMQ thoughts In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Nabble-From: bwinslow@tfutures.com References: <14262131.post@talk.nabble.com> X-Virus-Checked: Checked by ClamAV on apache.org Most of this testing was done with the 5.0 trunk. thinking that it was a problem with the 5.0 I tried on the 4.1 with even worse issues. Last night and today I finaly am able to reproduce the issues I am seeing and will be posting my test code. While I can not currently use ActiveMQ in production I am still commited to seeing these issues resolved. What I have found is the CPP and C# clients dont play nice with each other. Sample code will follow later today that will allow you guys to recreate most of the issues I see. James.Strachan wrote: > > On 10/12/2007, Hellweek wrote: >> >> >> Hello, >> >> I know what I am about to post will upset a few people, however I think >> it >> is important that I document my experience with ActiveMQ in the hopes >> that >> others like me can have an understanding of the issues that you will >> face. >> >> A little history. >> >> I am not new to Open Source projects, have been involved in them and have >> sponsored the use of open source for many years. >> >> I have been working with various message brokers for a few years. My >> first >> experience was with TIBCO EMS. Needless to say I was very impressed with >> the stability and functionality of this fine EMS. Next I had the >> opportunity to work with Sonic EMS. Again I was impressed with this >> product >> and was even happier with its low cost of ownership. >> >> Over the last 6 weeks it has been my job to evaluate for our Trading firm >> an >> internal messaging system. We wanted to use a EMS solution for >> dissemination of pricing data to our in-house applications as well as >> external clients of ours. The messaging systems we are evaluating. >> TIBCO >> EMS, MSMQ 3.0, SONIC EMS, ACTIVEMQ 4.1.1 or ActieMQ 5.0. >> >> How did each product fair? >> 1. Tibco EMS no issues with any of the stress tests and performance >> tests. >> 2. MSMQ don't even get me started with this POS. >> 3. SONIC EMS no issues with any of the stress tests and performance >> tests. >> 4. ActiveMQ can not make it past any stress tests. See issues below for >> an >> understanding of what we saw. >> >> >> I have watched ActiveMQ for well over 2 years and 2 years ago the project >> was so filled with issues that I knew I would never be able to recommend >> it >> to the owners of the company. 2 Years later and I was in the position of >> trying ActiveMQ again and hoping that it would be stable. >> >> I was very pleased to see that many of the issues I saw with ActiveMQ had >> been resolved and was committed to giving ActiveMQ a chance at being our >> EMS >> solution for the future. However, I can say after weeks of testing >> ActiveMQ >> Is still not ready for production use by myself and the firm I work for. >> If >> you have high message throughput with high number of subscribers ActiveMQ >> is >> not well suited for your needs. >> >> Lets take some time to examine the issues. >> >> CPP ActiveMQ Client >> 1. A fast producer with slow clients can and will take down the producer. >> From what I have seen in testing a slow client can bring the producer >> down >> and in some cases can bring the broker down. A miss-behaved producer or >> client should never ever take the broker down. >> >> 2. A Producer that producers more then 200 messages per sec locks up the >> Broker when the Broker has only one client connected. This one was the >> biggest issue to accept and the one issue that caused us to say ActiveMQ >> is >> not ready for a production environment. The most basic and simple task >> of >> the Message Broker is not working as expected and makes the ActiveMQ >> unusable in a environment where peak message Generation can exceed 200 >> messages per second. To be honest we never even get close to 100 >> messages >> as it seems we die after 50 messages are fired in the same second. The >> only >> time I am able to have producers producing without locking up or crashing >> is >> if I don't have any consumers listening. Having a messaging system that >> works without consumers is not a valid solution. >> >> Again important to note. As long as no consumers are connected I can >> produce massive amounts of messages. Once you connect a client massive >> issues start to happen. >> >> 3. Producers and consumers created on the same connection can cause >> deadlocks. This is a major issue and the main solution is to not do >> this. >> However, this is an unacceptable solution as it is my understanding this >> is >> an acceptable practice. >> >> 4. A fast producer with a fast consumer leads to resource creep. I don't >> want to say it is a memory leak because it is not a leak it is just a >> very >> very slow release of the memory. I should not have to put sleeps in a >> program just to insure that memory gets released correctly. In my test I >> had to sleep for 20 MS between each message being sent to keep the >> ActiveMQ >> consumer running. >> >> 5. Placing a breakpoint on the message listener on a consumer will cause >> out >> of memory errors in the producer. Why me setting a breakpoint on a >> consumer >> can cause the producer to throw an exception is unacceptable and leads me >> to >> think that a slow consumer can and will take the broker and or producer >> down. >> >> 6. Very confusing to determine what version of ActiveMQ will work with >> what >> version of the client. Example ActiveMQ 5.0 was released this week. >> However, no new client was released and no information on when new client >> will be released. The CPP client just released a 2.1.3 version that >> claims >> it should be paired with 4.1.1 of the ActiveMQ broker. Where is the CPP >> client that is to work with the new features of 5.0? >> >> With all the issues I have I will not be able to go to a production >> environment with ActiveMQ, this is a shame as the people that have been >> working this project are talented people and should be commended for the >> work that has been done. > > Great feedback thanks! > > I'd be interested to know how ActiveMQ 5.0 fairs once its released (in > the next couple of days hopefully) - quite a few of the issues you > mention are specific things that were targeted in 5.0 (better flow > control etc). > -- > James > ------- > http://macstrac.blogspot.com/ > > Open Source Integration > http://open.iona.com > > -- View this message in context: http://www.nabble.com/ActiveMQ-thoughts-tp14262131s2354p14277066.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.