The device stats in my logs are typically around 4.5% and the app stats are typically around 1.5%. I am wondering at what level people typically start seeing performance issues. Cocohue seems to be the biggest culprit. I got these stats down to this level by reducing the number of Hue lights that are reported and setting a couple power monitoring plugs to report less often. I was seeing intermittent performance issues before doing that. With intermittent issues, it is always hard to know whether you have really solved the problem.
I have 13.7% device and 4.2% app.
Echo speaks, CoCoHue, and then Ecobee are the top 3 culprits on both that are vastly larger than anything else.
I might be a bit biased, but I'll defend CoCoHue for a second, not that anyone said anything about it specifically beyond the fact that it was towards the top of the list. CoCoHue polls the Hue Bridge every minute by default or more (or less) often if you configure it as such. Every time it does this, it pulls the full set of JSON data from the Bridge, then parses out the light, group, and sensor states as needed. The amount of data it receives is about the same no matter how many devices you've added to Hubitat (really just affected by what you've added to Hue). Almost all of this goes through the Bridge driver, with some data retrieved from the app, so I'd expect both of those to be the highest proportion. Very little is done by the individual devices, just a bit of work when you send a command and a bit of work to parse their states (which may or may not change) if a matching device is found, but the work isn't exactly evenly spread out. Reducing the number of lights on Hubitat will likely be of only minimal help.
I imagine you'd find something similar with the built-in Hubitat integration. I only have that installed on a test hub anymore with polling disabled, so I can't really say for sure. The best ways to decrease this, if you consider it a problem, is to reduce your polling interval if possible. Using static/manual IP configuration instead of discovery (SSDP) may help marginally, but I wouldn't expect a big difference there.
This is true for me too, by the way. Other apps that are near the top of my list are things like HubConnect (I don't use it anymore, but I have a similar app--not Hub Mesh), Lutron (lots of motion sensors, plus Picos and whanot), and some LAN devices. I consider this all normal for me--the Lutron telnet device has to wake up pretty much every time there's motion in my house, my HubConnect-esque app has to send and receive a lot of events between my two hubs, and other relatively high users are similarly explained in my mind.
For comparison, my busiest "production" hubs are around 10% and 5% for both apps and drivers with no problems on my end. The former is probably high because I recently rebooted and am currently running my washing machine, so that power monitoring rule to let me know when it's done is triggering a lot, and I'd expect that to be a bit lower after that calms down.
For my setup, my devices are at 11% and apps at 7%. My top five apps in descending order are Echo Speaks, Amazon Echo Skill, CoCoHue, WebCoRE, and Hubconnect. If you were to add up all the pistons, WebCoRE would actually be in third. I haven't noticed any performance issues with my current setup, although, I do have to reboot the hub once every few weeks or some of my more involved pistons don't run fully when executed.
No complaints at all! I love my CoCoHue and Echo Speaks. It totally makes sense. Thanks for the great underlying information about it! I also have had no troubles with the load and performance.
Have you set event and device history lower on devices where you don’t have to have it?
My devices are mostly set to 5&5. The cpu won’t have to spend as much time freeing up memory if you don’t use as much. I have ES, Alexa, Homebridge, CoCoHue (2Hue hubs), LOMP, and quite a few RM and ML rules and My hubs apps are at 2.2%.
I shall give it a try and see what results I get when I get some to go through all of my devices. Thanks for the tip!
To change the "event history" on all devices at once to 10, you can type this in your web browser's address bar: HubIPaddress/hub/advanced/event/limit/10 Of course you have to replace HubIPaddress with your hubs IP address.