Hub Connect Versus Hub Mesh Performance?

Knowing the audience on this forum I feel confident that someone has or is planning some type of performance evaluation between Hub mesh and Hub Connect. If so would you share it?

Also is there any comparison or the load on the hub between Hub mesh and Maker API?

I know they are different but I'm considering dedicating a hub to Maker API so when I create terrible Node Red flows I don't impact my Zwave hub.

I haven't seen anyone perform objective measurements. The biggest thing I can think of that would make a difference is if you share the same device from one hub to multiple others hubs: Hub Mesh uses multicast, so there is basically just one transmission of that event from one hub to all listening hubs. HubConnect (and Hub Link and any similar app-based approach) will use the "traditional" unicast method, transmitting the event once to each hub. If you're only dealing with two hubs, that is likely to not matter--and even if you are, I'm not sure it would make a huge difference, but that's the biggest difference I can think of there.

But HubConnect also has the option to use the websocket event stream instead of HTTP, so then the other hub is just constantly listening (with a single connection) and filtering in only the things it needs. For "large" numbers of devices, some people think that websockets work better than HTTP, which may give HubConnect a slight edge (but who knows if Hub Mesh's HTTP is more streamlined than user apps' implementations would need to be). HubConnect further has the option to use websockets with the intermediary "server" to filter out things from the websocket stream that the other hub doesn't care about, which should lessen the burden on the listening hub. But now we're introducing even more unknown comparisons: pre-filtered vs. unfiltered websocket event stream, besides websocket vs. HTTP, and I don't know anyone who's done objective measurements on this or might have data to back up intuitions one might have on which is "better" for, at least, specific circumstances.

The other difference is that Hub Mesh mirrors the entire device: parent and child, pretty much all device (meta)data, and all logging, plus, of course, any events (the main point of all of this). HubConnect gives you some options here: you can unsubscribe from power/energy events on power-monitoring switches, for example, which might cut down on some traffic if not needed, and you can choose (in fact, have to choose) only specific devices with composite (parent/child) devices, which again may cut down on inter-hub transmission if there are things you don't care about.

So, sorry, I don't have a direct answer. I can say that I've used Hub Link/Link to Hub, HubConnect (event stream and HTTP), and Hub Mesh all at some point, and in real life never noticed big performance differences between any--just feature differences with things I did or don't want (e.g., Hub Link/Link to Hub is severely limited in what device types it can share and creates annoying "shadow" devices on the host hub; I wish HubConnect logging worked a bit differently on remote hubs, but no complaints--and keep in mind that it can share over cloud if needed, whereas Hub Mesh is restricted to the same broadcast domain). Further, despite the existence of Hub Mesh, I've actually switched away from all of these towards custom code I wrote myself to "share" the devices exactly how I want, and I haven't noticed a significant difference there either (aside, again, from specific features any of these offerings do or don't have to work the exact way I prefer--which going forward I'd probably make my biggest concern, given that--Hub Link/Link to Hub oddities aside--all seem to work well for most people).

I'd love to see objective data if anyone has it--otherwise those are some facts, mixed with my subjective experience. Infer from it what you want. :smiley:

3 Likes

So, I donโ€™t have before and after screenshots; just after. I will say that my hubs are running the latest .143 and I have entirely switched over from HubConnect to Hub Mesh. I will also preface this with the fact that there are probably other performance improvements in the latest release and also ymmv. My hubs are both running on average 0.02 seconds faster after switching to Hub Mesh. I have seen these average virtual switch times since the .139 release.

1 Like

This is what I was seeing. When I was beta testing at the beginning I had both running and mesh was faster than hub connect but it's nominal. Anywhere for 0.02 to 0.10 this was just looking at the logs and seeing the trigger times on the 2nd hub. This is probably just the difference between a well written app and it being baked into the firmware.
This was me using websockets in Hub connect

1 Like

I switched all over the other day. I donโ€™t reboot my hubs apart from when needed or after upgrading. I have all physical devices on Hub 1, and LAN/Virtuals on Hub 2. I treat Hub 2 as the master, as I run all apps from here so only devices on Hub 1 are shared to hub 2.

Anyway, after two days of using Hub mesh. Hub 1 died. Red light and no one is home. This was the only setup Iโ€™d changed. So Iโ€™m keeping my eyes on it. Iโ€™m on .141 at the min.

2 Likes

This is a very key distinction, IMHO.

Currently have three hubs with two local and one over cloud. The remote only shares with the primary local. Performance considerations of maintaining connect for the remote but mesh for the locals?