@Aftermath4 #8 先不说别的,hunsh/gh-proxy-py 镜像大小已经达到了334.89 MB,这个占用可不算小 另外,py版本的内存占用达到了40mb以上,具体占用如下 python版本(特指hunshcn/gh-proxy) 0daf5f699137 gh-proxy-py 0.03% 41.86MiB / 344MiB 12.17% golang版本(特指WJQSERVER-STUDIO/ghproxy) 412b1f854723 ghproxy-ghproxy-1 0.14% 9.562MiB / 344MiB 2.78% 如上可见,caddy并不会带来过多的内存问题 这也证明了Caddy的轻量化,此caddy也不是特殊精简过的
@wjqserver #12 抱歉,我的问题,没对你的 ghproxy 做 benchmark 就妄下结论了,这么看来 caddy2 性能的确不错,我之前用 caddy2 做 fileserver 经常冲上 60 MB 内存占用,先入为主了 感谢大佬贡献,今年二月本来我也想写一个 go 版本的优化 py 的内存占用,但是一直偷懒
@Aftermath4 #13 go版本主要还是对并发效率进行优化,并另外提供了外部配置文件 至于caddy2的内存占用问题,这与版本有关,WJQSERVER-STUDIO 团队有自动化每日编译caddy,新版本的一些特性可以快速实装,Dev镜像采用daily编译,latest采用固定版本 不过和docker环境和caddy前置也有关系,不知道docker底包和正常系统有什么具体区别,但是垃圾回收策略貌似更积极 至于caddy内存占用问题,我测试过了,这和系统TCP窗口大小和TCP缓冲有关系,相关设置不要设置太高就可以避免较大内存占用 最后,欢迎各位加入开发,本团体采取开放策略,就算是改改文档也是对我们的帮助,能参与主程序开发是最好的;另外使用有问题请积极提出issue,谢谢
@Aftermath4 #13 caddy2 做 fileserver 经常冲上 60 MB 内存占用,先入为主了这点并不存在什么问题 归根结底还是Caddy版本与系统环境的差异,况且Docker容器内的环境区别还是很大的,尤其是在Go语言构建的情况下 Go Runtime提供了一些自适应配置,可以根据运行环境的特点动态调整程序的行为,以更好地利用系统资源。在容器内运行时,Go 自适应配置可以针对容器环境的特点进行调整,从而进一步优化资源利用。 不同的环境下,基于go的程序会进行不同的优化,不同配置(包括网络环境)的环境进行比较,通常无法得出准确结论
@koujiang #9
黑名单可以参看v1.3.0更新,白名单参看上文
无需使用请在配置文件内关闭功能
@Aftermath4 #8
先不说别的,hunsh/gh-proxy-py 镜像大小已经达到了334.89 MB,这个占用可不算小
另外,py版本的内存占用达到了40mb以上,具体占用如下
python版本(特指hunshcn/gh-proxy)
0daf5f699137 gh-proxy-py 0.03% 41.86MiB / 344MiB 12.17%
golang版本(特指WJQSERVER-STUDIO/ghproxy)
412b1f854723 ghproxy-ghproxy-1 0.14% 9.562MiB / 344MiB 2.78%
如上可见,caddy并不会带来过多的内存问题
这也证明了Caddy的轻量化,此caddy也不是特殊精简过的
@wjqserver #12
抱歉,我的问题,没对你的 ghproxy 做 benchmark 就妄下结论了,这么看来 caddy2 性能的确不错,我之前用 caddy2 做 fileserver 经常冲上 60 MB 内存占用,先入为主了
感谢大佬贡献,今年二月本来我也想写一个 go 版本的优化 py 的内存占用,但是一直偷懒
@Aftermath4 #13
go版本主要还是对并发效率进行优化,并另外提供了外部配置文件
至于caddy2的内存占用问题,这与版本有关,WJQSERVER-STUDIO 团队有自动化每日编译caddy,新版本的一些特性可以快速实装,Dev镜像采用daily编译,latest采用固定版本
不过和docker环境和caddy前置也有关系,不知道docker底包和正常系统有什么具体区别,但是垃圾回收策略貌似更积极
至于caddy内存占用问题,我测试过了,这和系统TCP窗口大小和TCP缓冲有关系,相关设置不要设置太高就可以避免较大内存占用
最后,欢迎各位加入开发,本团体采取开放策略,就算是改改文档也是对我们的帮助,能参与主程序开发是最好的;另外使用有问题请积极提出issue,谢谢
@Aftermath4 #13
caddy2 做 fileserver 经常冲上 60 MB 内存占用,先入为主了这点并不存在什么问题归根结底还是Caddy版本与系统环境的差异,况且Docker容器内的环境区别还是很大的,尤其是在Go语言构建的情况下
Go Runtime提供了一些自适应配置,可以根据运行环境的特点动态调整程序的行为,以更好地利用系统资源。在容器内运行时,Go 自适应配置可以针对容器环境的特点进行调整,从而进一步优化资源利用。
不同的环境下,基于go的程序会进行不同的优化,不同配置(包括网络环境)的环境进行比较,通常无法得出准确结论
懒得折腾了...还是继续gh-prox吧