chatgpt-web-dev / chatgpt-web

A third-party ChatGPT Web UI page built with Express and Vue3, through the official OpenAI completion API. / 用 Express 和 Vue3 搭建的第三方 ChatGPT 前端页面, 基于 OpenAI 官方 completion API.
https://chatgpt-web.dev
MIT License
1.66k stars 445 forks source link

内存占用200多MB, 能否优化一下? #345

Closed padixa closed 10 months ago

padixa commented 1 year ago

原作者Chanzhaoyu/chatgpt-web现在貌似在弄收费版, 基本很少更新了, 你成了咱希望了啊.

Docker中运行这个容器直接占用200多兆(还不包含Mongodb), 能否优化一下, 只是个WEB页面二次转发显示请求而已, 用不着占这么多吧. 再说了不是已经有Mongodb吗? 多余的东西能否直接存数据库.

Timoshao commented 1 year ago

全村的希望。 大佬加油

padixa commented 1 year ago

人呢? 不会这个项目也歇菜了吧.

Kerwin1202 commented 1 year ago

我看了下不多啊

CONTAINER ID   NAME         CPU %     MEM USAGE / LIMIT     MEM %     NET I/O         BLOCK I/O   PIDS
3ed120d85fb8   chatgptweb   0.78%     59.95MiB / 15.69GiB   0.37%     274MB / 418MB   0B / 0B     0

查询命令

docker stats chatgptweb
padixa commented 1 year ago

@Kerwin1202 , 重启一下, 发送几个gpt聊天记录. 再查下.

Kerwin1202 commented 1 year ago

确实 170 左右 但是我对优化这块不太懂

padixa commented 1 year ago

@Kerwin1202 不会是你没把缓存放在数据库直接放在内存中导致的吧? 以前的逻辑没数据库, 但现在咱可以放数据库嘛. 优化下呗. 定位到了当前Tab再拿出来, 其他时候放数据库. 再看下其他地方到底哪里耗的多.

zhujunsan commented 1 year ago

@Kerwin1202 不会是你没把缓存放在数据库直接放在内存中导致的吧? 以前的逻辑没数据库, 但现在咱可以放数据库嘛. 优化下呗. 定位到了当前Tab再拿出来, 其他时候放数据库. 再看下其他地方到底哪里耗的多.

你说的这个情况应该是不存在的, #113 中就已经关闭默认的 LRU 缓存了。我怀疑是因为用 esno 启动脚本,直接运行ts,要先编译后运行,所以整个编译器都加载了,所以启动速度也慢内存开销也大。应该可以在build的时候编译完ts到js,我不会 :no_mouth: ,我去学一学看看

zhujunsan commented 1 year ago

好吧,build的时候确实是编译过一下了,仍然还是不知道怎么看内存具体是谁开销的