Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [paho-dev] Paho - highly scalable?

That could be a good option.  Would that be a permanent incubator project, that you mentioned previously?

Ian

On 09/04/2014 06:13 PM, Ian Skerrett wrote:

Ian

 

Would it make sense to have a Paho sub-project that is for MQTT testing.  This could also be the location for the MQTT interop test cases that you have been working on.

 

 

 

From: paho-dev-bounces@xxxxxxxxxxx [mailto:paho-dev-bounces@xxxxxxxxxxx] On Behalf Of Ian Craggs
Sent: September-04-14 12:20 PM
To: paho-dev@xxxxxxxxxxx
Subject: Re: [paho-dev] Paho - highly scalable?

 

Dominik,

thanks for your comments.  I agree with you entirely.

I definitely think there is an interest in a highly scalable MQTT client for load testing MQTT servers.  I know several projects who have written their own MQTT load testing clients.  

One approach I have taken in the past is to network RSMBs together with their bridges: one RSMB bridging to 500 others, each with 500 bridge connections to the MQTT server under test.  That means you can easily spread out the second-level RSMBs over several machines if you need to, and I could build it very quickly.   That approach should work with Mosquitto too.

As I see it, the only potential risk of contributing your client is confusion about which to use, which could be minimized by putting it under "tools", "utilities" or a similar category.  Personally, I would be very happy to see the contribution.

Ian

On 09/04/2014 04:15 PM, Dominik Obermaier wrote:

Ian,

I don't think Paho Clients are and should be highly scalable. I personally are in favor of having rock-solid MQTT clients for real-world productive usage. So from my point of view, 3) can be dropped and be replaced with the mission goal of having production-ready rock-solid clients.

We have written several load tests with different approaches and the truth is, that we always had to write our own MQTT clients for that. Speaking of Java clients, there is the fusesource-mqtt client which is more scalable than the Paho Java implementation but it has many concurrency bugs when using under load, so I always recommend using Paho.

If there is interest for such a highly scalable and concurrent implementation of a Java MQTT client with a nice fluent API, we would consider bringing it to the Paho project. Beside the nice fluent API, this MQTT client also has a "low-level" interface for doing things like sending "raw" MQTT messages, which may be useful for testing the behaviour of MQTT servers. So you can for instance emulate faulty MQTT client behaviour with that. This client unfortunately doesn't run on Android (afaik) and needs at least Java 5. So I would not see a competing MQTT Java client to the current Paho one but a complementary one for testing tool implementations. Internally we're using this library heavily for our HiveMQ integration and specification tests and for distributed load tests.

Best,
Dominik

Ian Craggs wrote:

Hello all,

just scanning the web page, I noticed it describes three attributes of Paho:

1) for constrained networks
2) devices and embedded platforms
3) highly scalable

where 3) is described as:

Paho focuses on highly scalable implementations that will integrate with a wide range of middleware, programming and messaging models.

I agree with the first two, but is it really true that Paho implementations are or should be highly scalable?  What does this really mean?  Several times I have heard of people wanting to create load tests for their MQTT server, but as far as I am aware none of the Paho libraries is specifically designed for that purpose.  While they may be capable of doing so, their design is not likely to be optimal.  When I am writing a client-side library, the highest priority is usually making it small.

This claim might give rise to expectations which we can't fulfil, unless anyone has a different interpretation?  If so, I think we need to explain.


-- 
Ian Craggs                          
icraggs@xxxxxxxxxx                 IBM United Kingdom
Committer on Paho, Mosquitto
 
_______________________________________________
paho-dev mailing list
paho-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/paho-dev




_______________________________________________
paho-dev mailing list
paho-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/paho-dev



-- 
Ian Craggs                          
icraggs@xxxxxxxxxx                 IBM United Kingdom
Committer on Paho, Mosquitto
 


_______________________________________________
paho-dev mailing list
paho-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/paho-dev

-- 
Ian Craggs                          
icraggs@xxxxxxxxxx                 IBM United Kingdom
Committer on Paho, Mosquitto


Back to the top