Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

希望能优化应用商店部分接口的响应速度 #5008

Open
jamebal opened this issue May 14, 2024 · 8 comments
Open

希望能优化应用商店部分接口的响应速度 #5008

jamebal opened this issue May 14, 2024 · 8 comments

Comments

@jamebal
Copy link

jamebal commented May 14, 2024

联系方式

No response

1Panel 版本

v1.10.7-lts

问题描述

在多个虚拟机里面安装1panel测试发现:

  1. 系统里docker容器越多(多于30个),/v1/apps/installed/check, /v1/apps/installed/search这两个接口就慢, 不总是很慢, 有时几百毫秒,有时几秒, 慢的程度基本和docker容器数量成正比
  2. 系统里docker容器少(少于10个), /v1/apps/installed/check, /v1/apps/installed/search这两个接口就很快, 总是很快, 200毫秒以内
  3. 以上测试来自同一物理机里的多个虚拟机测试, 虚拟机配置相同, 所以能排除网络和硬件配置性能的问题

重现步骤

不是用1panel安装多个docker容器

期待的正确结果

希望能优化这两个接口的响应速度

相关日志输出

No response

附加信息

No response

@MiderWong
Copy link

我猜测是网络并发响应原因,因为[Search、Check]是向服务器请求[AppList、UpdateList],我添加了本地第三方仓库,一次[Search]要[10s+]。

你提到这个,其实我一直想提一个[FEATURE],我看大家都没提过:
[FEATURE]应用商店页面,默认展示[已安装]标签,标签顺序改为[已安装]、[可升级]、[全部(市场)]
这样修改之后,不必每次打开[应用商店]时必须先等待[应用商店服务器有响应之后才能操作],如下图:

image

@jamebal
Copy link
Author

jamebal commented May 14, 2024

我没有添加第三方库, 而且我抓包了, Search、Check并没有向外部请求

@MiderWong
Copy link

逻辑好像是下面这样:
1、先同步到本地,后续做Sync和Update的时候向服务器做版本号请求及对比
2、同步本地之后是查数据库

我的这个很慢原因是:
1、我用了第三方库,大概几百个App
2、MySQL用的是Docker部署的

@wanghe-fit2cloud wanghe-fit2cloud changed the title [BUG] 希望能优化这两个接口的响应速度 May 14, 2024
@wanghe-fit2cloud wanghe-fit2cloud changed the title 希望能优化这两个接口的响应速度 希望能优化 /v1/apps/installed/check/v1/apps/installed/search 这两个接口的响应速度 May 14, 2024
@jamebal
Copy link
Author

jamebal commented May 16, 2024

/v1/apps/installed/search该接口24小时检测结果, 时快时慢,没发现规律
截屏2024-05-16 09 26 05

@jamebal
Copy link
Author

jamebal commented May 17, 2024

同一个物理下两个配置相同的虚拟机对/v1/apps/installed/search的监控, 其中192.168.0.192有54个容器, 192.168.0.104有3个容器

截屏2024-05-17 10 32 26 截屏2024-05-17 10 33 00

@jamebal
Copy link
Author

jamebal commented May 20, 2024

同一个物理下三个配置相同的虚拟机对/v1/apps/installed/search的监控, 容器数量不同对其响应时间的影响

截屏2024-05-20 09 15 00 截屏2024-05-20 09 15 17 截屏2024-05-20 09 15 37

@zhengkunwang223
Copy link
Collaborator

🙏感谢反馈,应该是调用 docker SDK 获取容器状态这个方法导致的,后续版本考虑优化成两个接口

@jamebal
Copy link
Author

jamebal commented May 20, 2024

好的谢谢

@wanghe-fit2cloud wanghe-fit2cloud added this to the v1.10.10-lts milestone May 29, 2024
@wanghe-fit2cloud wanghe-fit2cloud changed the title 希望能优化 /v1/apps/installed/check/v1/apps/installed/search 这两个接口的响应速度 希望能优化应用商店部分接口的响应速度 Jun 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants