The Go Programming Language
› http://golang.org/
› Go Playground
Go Projects
› Revel Web Framework
apple2026

golang template 模板性能怎样呢?有相关对比的文章吗?与静态 html 文件比起来相差多少呢?

  •  
  •   apple2026 · Mar 26, 2022 · 4078 views
    This topic created in 1690 days ago, the information mentioned may be changed or developed.
    假设一个小说网站,走 template 模板方式的话,模块操作里面就去 redis 缓存获取一下数据最后渲染生成 html 返回展示。

    走 html 方式的话,就需要一开始生成所有章节页面的 html 文件。

    想请问这两种方式就加载一个页面的速度来说的话相差会是多少呢?如果有相关解说文章就更好啦。
    13 replies  •  2022-03-31 13:09:57 +08:00
    seakingii
    seakingii
    Mar 26, 2022❤️1
    1
    如果光是”模板“这个很简单,你自己写个代码例子测试一下不就清楚了。

    实际上问题会更复杂,比如你要根据模板生成,你的数据来源要快,假如你数据库放国内,生成服务器放国外,那就慢的不得了(实际上可能不会这么极端),那样的话,先在本地生成所有的 HTML 再上传会更好。

    还有就是服务器的 CPU 性能,内存性能等。如果是垃圾服务器,那也是先生成 HTML 比较好。

    如果数据来源够快,我是建议用 模板生成,那样单个即时生成所费的时间很小,毫秒级别。再加上各种缓存(缓存在磁盘上,REDIS 中,CDN 中),能大大缓存生成压力。模板即时生成的最大好处就是可以随时修改样式模板,随后再次访问就是新的样式了。也不用随便小修改就要重新生成一次所有页面,那可能会费很多时间。
    pca7a2
    pca7a2
    Mar 26, 2022
    3
    建议还是前后端分离,适合分工。
    Jooooooooo
    Jooooooooo
    Mar 26, 2022
    4
    这...到了考虑这种东西的性能问题的时候吗.

    数据库稍微设计合理点性能提升估计要比这个大一万倍.
    keepeye
    keepeye
    Mar 26, 2022❤️1
    5
    性能测试可以参考 2 楼,再说静态文件,如果服务器磁盘垃圾 html 还真不一定有 go 模板渲染快,别忽略了磁盘 io 瓶颈,不建议生成 html ,go 没那么慢,等你遇到瓶颈了花钱加服务器都是开心的
    Goat121
    Goat121
    Mar 26, 2022
    6
    你问的实际上不是 template 包的问题,是采用服务端渲染或前端渲染的问题。
    对于服务端来说,返回 json 还是 html 性能差距微乎其微。
    前端渲染的性能,视客户端环境和执行的 js 代码可能会慢上数秒,但现代浏览器都会预编译 js 并缓存,实际上只会在你第一次打开网页时有影响。
    采用服务端渲染一般都是为了做 seo ,但会极大增加代码耦合度。某些大厂的做法是再加一层,服务端返回 json 到中间层渲染为 html ,再返回给客户端。除了工作量大增之外,啥都好。
    看你用户量和开发人员具体做技术选型把
    Goat121
    Goat121
    Mar 26, 2022
    7
    @Goat121 抱歉 没看清楚贴。无视我吧
    apple2026
    apple2026
    OP
    Mar 26, 2022
    8
    @keepeye 有道理,可以愉快的使用模板啦
    buliugu
    buliugu
    Mar 26, 2022
    9
    其实生成静态 html 直接走 cdn 分发也是一种方案,广告部分走动态请求就行,可以大幅减少主站的流量压力
    seakingii
    seakingii
    Mar 26, 2022
    10
    楼主的这个问题我以前也经历过。

    两种做法各有各的好处,静态的最大好处在于,你任意一个 WEB 服务器都可以部署,甚至可以用 GITHUB 部署。。。

    如果用即时模板,坏处是要运行可执行程序,好处是可以再加一些动态功能,比如 搜索啥的。。
    WispZhan
    WispZhan
    Mar 26, 2022
    11
    参考 hugo ?
    wonderfulcxm
    wonderfulcxm
    Mar 26, 2022 via iPhone
    12
    小说网站,如果小说数量大的话,并且一个页面跟另一个页面有关联,列表分页,tag 页,主页等等。修改一次,整站重新生成一次得几百万上千万个页面。
    hugo 那种只适合个人博客这种小玩意
    veightz
    veightz
    Mar 31, 2022
    13
    我觉得可以看业务的场景.. 看读写比例, 高频写的话, 是不是会经常构建, 导致代价较大?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   999 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 22:31 · PVG 06:31 · LAX 14:31 · JFK 17:31
    ♥ Do have faith in what you're doing.