用 Python 写的网站前端用 react 首次打开网站超级慢 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
chiva

用 Python 写的网站前端用 react 首次打开网站超级慢

  •  
  •   chiva Sep 7, 2019 6008 views
    This topic created in 2423 days ago, the information mentioned may be changed or developed.

    求助个问题,最近做的一些网站部署完以后第一次打开网站超级慢,应该与服务器无关,之后再打开就很快了,这个问题找了很久没找到答案,网站是 python+react。

    30 replies    2019-09-09 16:22:28 +08:00
    LZYPPP
        1
    LZYPPP  
       Sep 7, 2019
    之后打开快是因为有缓存吧。单页面首次要加载全部资源
    hkitdog
        2
    hkitdog  
       Sep 7, 2019 via iPhone
    PWA?
    hewelzei
        3
    hewelzei  
       Sep 7, 2019
    CSR 即客户端渲染的缺点就是首屏加载速度慢和 SEO 问题,想提高首屏加载速度可以用 SSR 即服务端渲染,或同构渲染
    shintendo
        4
    shintendo  
       Sep 7, 2019
    不一定要 SSR,有没有做按需加载
    ebingtel
        5
    ebingtel  
       Sep 7, 2019   2
    ……python 又背锅
    duan602728596
        6
    duan602728596  
       Sep 7, 2019 via iPhone
    你应该做的:1. 压缩 css 和 js 文件,2.使用 gzip 或 br 压缩,3.压缩图片体积,4.文件使用缓存
    djs
        7
    djs  
       Sep 7, 2019
    你让前端自查下自己加载的数据都有哪些,有多大
    Yourshell
        8
    Yourshell  
       Sep 7, 2019
    这个时候应该发“提问的智慧”?
    learnshare
        9
    learnshare  
       Sep 7, 2019
    F12 查找问题就是了
    jinboker
        10
    jinboker  
       Sep 7, 2019
    还有你前端代码放到哪里了?
    如果是你自己服务器上,看下你服务器带宽多少,要是是 1m 的小水管,指望个啥速度啊

    至于后面打开快,就是有缓存了,不用重新下载了
    Rorshach
        11
    Rorshach  
       Sep 7, 2019
    把静态资源全都丢到 CDN 上
    wlchn
        12
    wlchn  
       Sep 7, 2019 via iPhone
    第一次打开需要 load react bundle 文件 ,这个文件一般比较大,所以会导致第一次慢,之后再打开网站会用浏览器缓存所以就快了,解决办法是 ssr
    notreami
        13
    notreami  
       Sep 7, 2019
    人多,钱多,再想的上前端这堆玩意吧,否则还不如 10 年前的 div+js+后端模版。
    AV1
        14
    AV1  
       Sep 7, 2019
    这时候不是应该上 network 的瀑布图么?
    Tink
        15
    Tink  
    PRO
       Sep 7, 2019 via iPhone
    静态资源上 cdn
    VDimos
        16
    VDimos  
       Sep 7, 2019 via Android
    盲猜 react 打包没优化
    secondwtq
        17
    secondwtq  
       Sep 7, 2019
    黑 Python 新姿势?
    好像是两个都黑了 ...
    hunk
        18
    hunk  
       Sep 7, 2019
    vue 的调试模式好像每次编译,速度巨慢。
    估计也是类似问题
    mamahaha
        19
    mamahaha  
       Sep 7, 2019
    你去看看 js 文件多大吧,有没有用 webpack 按需?
    zachlhb
        20
    zachlhb  
       Sep 7, 2019 via Android
    前后端分离本就是个伪命题
    zhixuanziben
        21
    zhixuanziben  
       Sep 7, 2019
    打开 chorme 控制台,看看哪个环节耗时过长?然后再找办法优化
    hspeed18
        22
    hspeed18  
       Sep 7, 2019
    看一下 waterfall,你是不是单页应用?
    brickyang
        23
    brickyang  
       Sep 7, 2019 via iPhone
    先看下有没有把 CSS 和 JS 分开,如果没有,用 MiniCssExtractPlugin。

    然后看下 JS 文件大小。如果太大了,用 webpack-bundke-analyzer 分析一下,很可能是打了大包进去,尽量按需打包以及分包。

    最后,静态文件用 CDN。
    est
        24
    est  
       Sep 8, 2019
    chiva 写的网站前端用 react 首次打开网站超级慢
    qsnow6
        25
    qsnow6  
       Sep 8, 2019 via iPhone
    单独测试下接口,不要一上来就是语言背锅
    akira
        26
    akira  
       Sep 8, 2019
    网站发出来,我们帮你看下就知道了
    jxman
        27
    jxman  
       Sep 8, 2019
    方案 1: 改架构
    看样子 lz 是直接客户端渲染的,可以考虑做页面直出,这样页面呈现会快很多。

    方案 2:直接优化现有方案(不一定能达到目标)
    chrome lighthouse 走一波,然后根据测评建议做优化。
    压缩图片最优先,其他的手段看测评结果再选。
    palmers
        28
    palmers  
       Sep 8, 2019
    根据你的描述 应该是前端依赖的问题, 你看看 vendor-xx.js 体积 然后使用动态加载 根据路由 不要一次加载全部依赖, 然后去掉一些不必要的依赖,去除重依赖 比如 moment 常常只是用来加减一些时间 这种就太浪费了
    skallz
        29
    skallz  
       Sep 9, 2019
    需要做的工作,第一,路由懒加载,第二,插件按需引入,第三,静态资源请走 cdn,第四,部分文件请进行压缩,第五,可以先显示一个屏幕内容,其他内容使用流加载或按钮等形式触发加载,第六,不要为了复用接口而导致首屏使用的接口需要加载不必要的数据,大概就这些
    qlhai
        30
    qlhai  
       Sep 9, 2019
    你把 url 贴出来,我们给你看下
    About     Help     Advertise     Blog     API     FAQ     Solana     1034 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 86ms UTC 23:09 PVG 07:09 LAX 16:09 JFK 19:09
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86