找回密码
 立即注册

微信扫码登录

搜索
查看: 133|回复: 6

[技术探讨] 有没有办法解决ha网页速度慢但是却不开销资源的方法

[复制链接]

88

主题

300

回帖

1708

积分

金牌会员

积分
1708
金钱
1320
HASS币
0
发表于 昨天 15:43 | 显示全部楼层 |阅读模式
本帖最后由 norikohxb 于 2025-8-15 15:51 编辑

有没有办法解决ha网页速度慢但是却不开销硬件资源的方法
一个amd5950的电脑(开头是用13900的intelcpu,但是论坛里面有坛友说esxi不支持大小核,效果不好。又拿了一台5950单独装esxi给ha用。目前整个虚拟机就一个ha和一个postgresql,目前postgresql已经关闭因为发现他并不能带来速度的提升)
目前ha有613个设备;11507个实体(有很多是esp的电量采集器,他们都是1秒采样一次,其实我感觉这个也不应该在cpu的算力之外)然后在切换网页的时候很慢,比如从设备页面切换到实体!
系统的数据库文件如果删除掉home-assistant_v2,24小时后就可以达到2.2GB的大小。这个我也能理解因为功率的采集一秒一次,所以数据量就比较大。
整个ha的打开和访问都比较卡顿,特别是创建辅助元素就更慢了。
但是整个home assistant在esxi的cpu占用又很低,我愿意给他一个那么高频的cpu和性能比较好的主机,但是感觉他就是不愿意用起来。
这个好比,你给他一台12缸的汽车,但是平时他都只愿意用怠速在给油门,搞得整个home assistant网页打开很慢
有时候打开首页
http://homeassistant.local:8123/lovelace/default_view
还会很慢甚至转圈半天,
请问有没有什么办法能解决这个卡顿的问题。因为我感觉我太背屈了,不是不给他好的硬件,是给他好的硬件他不用,不充分利用硬件。
之前为了解决这个问题,也曾经在虚拟机上开了postgresql,也创建了数据库,但是发现对于改善这个没有卵用。
希望可以听到高手的指点。我知道我的实体是有点多了,但是难道电脑处理不来吗?目前我的纪录只是保存7天,但是我发现在4天以后。手动删除那个4gb的数据库文件之后。开网页会明显快很多。home-assistant_v2

如果群里面也有实体和我一样多的有优化的方案请赐教。


image.png
image.png


image.png


回复

使用道具 举报

hhh. 手机认证

10

主题

341

回帖

2999

积分

论坛UI达人

积分
2999
金钱
2648
HASS币
0
发表于 昨天 20:10 | 显示全部楼层
就如此舍不得虚拟化?

我还是之前那个思路。

物理机直接安装HAOS,单独搞一台做数据库   MariaDB / MySQL。

建议分布式部署,通过区域,楼层为划分依据,将整个HA划分为数个HA。
例如:1至5层,每层部署一个HA物理机,根据实体数量划分不同区域。
主HA(高性能),负责自动化,多HA接入,还有UI。
子HA(多台),分别负责本地设备接入,如zigbee一台,485总线一台,以此类推。

然后重点优化局域网接入,优化网络设备,如核心交换机考虑万兆接入。还要看具体接入设备的方式。

有条件再搞一台服务器做备份。
回复

使用道具 举报

26

主题

191

回帖

1590

积分

论坛UI达人

积分
1590
金钱
1368
HASS币
50
发表于 13 小时前 | 显示全部楼层
既然用过外置数据库都没改善,那就证明不是ha自带数据库的问题,难道是数据库读写瓶颈?莫非用的是虚拟磁盘,磁盘io问题,可以往这方面排查
回复

使用道具 举报

3

主题

34

回帖

155

积分

注册会员

积分
155
金钱
118
HASS币
0
发表于 2 小时前 | 显示全部楼层
就像楼上2位说的,一步步排查吧
先减少实体数量,看看到底是不是实体过多导致的
然后看看虚拟机的虚拟磁盘io够不够,如此大量读写,是不是需要直通ssd最好
然后就是分多个ha管理等等
磁盘io不够这个问题,我碰到过一次,不多见,但也确实会有
之前小几十块买了个阿里云的轻量服务器,然后用cursor挂了ssh编辑,结果动不动就卡死,而且不是一般卡死,连阿里云官方的管理工具都会跟着掉线,整个无响应,连普通重启都无响应,必须强制重启。
折腾了几次之后才发现,主要问题是轻量服务器的虚拟磁盘io性能特别烂,有时候cursor回档文件,一瞬间产生的读写,就足够把磁盘卡死了
回复

使用道具 举报

88

主题

300

回帖

1708

积分

金牌会员

积分
1708
金钱
1320
HASS币
0
 楼主| 发表于 1 小时前 | 显示全部楼层
hhh. 发表于 2025-8-15 20:10
就如此舍不得虚拟化?

我还是之前那个思路。

我其实都舍得单独给他一个5950和64gb内存加上三星的980pro。说明我舍得硬件就是想要换取统一管理。难道ha就那么不济有个1万多个就不行了
回复

使用道具 举报

88

主题

300

回帖

1708

积分

金牌会员

积分
1708
金钱
1320
HASS币
0
 楼主| 发表于 1 小时前 | 显示全部楼层
hhh. 发表于 2025-8-15 20:10
就如此舍不得虚拟化?

我还是之前那个思路。

现在就是为什么他不尽可能用我提供给他的硬件。这个cpu始终在15%以下。有没有什么隐藏设置能让他最大程度地耗费我的硬件资源,比如内存64gb用了50g,cpu的100%用了80%,这个时候慢我就知道了我该升级硬件了
回复

使用道具 举报

hhh. 手机认证

10

主题

341

回帖

2999

积分

论坛UI达人

积分
2999
金钱
2648
HASS币
0
发表于 3 分钟前 | 显示全部楼层
norikohxb 发表于 2025-8-16 12:18
我其实都舍得单独给他一个5950和64gb内存加上三星的980pro。说明我舍得硬件就是想要换取统一管理。难道ha ...

首先,HA最初的设计目的,就是面向家用,并非商用。
所以,1万+的实体,秒级的数据获取,你低估了如此多的数据量,这明显超出HA这个系统的能力。

分布式部署,并不是舍弃统一管理,而是分布处理设备接入,降低数据处理的门槛,相当于,层级管理。
而且主设备可以使用node-red去管理,这样更大程度的实现快速,流畅的执行自动化。

HA的单线程架构,决定了利用不了高性能硬件,每个实体都会触发事件,上万实体意味着每秒可能有成百上千个状态事件在 HA 核心处理,Python 的单线程架构处理大量事件时会出现阻塞或延迟。

如果不想舍弃HA,那么,分布式是唯一且有效的解决方案。
如果能舍弃HA,那么选择更多。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-8-16 13:44 , Processed in 0.050579 second(s), 7 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表