V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ionblue
V2EX  ›  程序员

博客访问变慢,我是怎么办的?

  •  
  •   ionblue ·
    uselibrary · 2018-09-23 11:55:43 +08:00 · 5365 次点击
    这是一个创建于 2013 天前的主题,其中的信息可能已经有所发展或是发生改变。

    博客放在香港的机子上,虽然是 3M 小水管,但是因为只是简单的文字,图片都很少,所以一直速度都还可以。
    可是前几天发现访问速度变得特别慢,原先放在洛杉矶的时候,首页加载也就 1S 这样子吧。可是最近从香港到深圳居然要超过 2S,有时候甚至可以达到 8S 以上。
    origin.PNG 看了一下加载耗时,发现下载 js 和 css 都要花很长时间,拖慢了整个网站的加载速度。
    第一感觉是网络的问题,直接新建了一个静态网页,发现并不会变慢,因为是异步加载,不会等所有元素都加载完了再去显示(我没有黑 edge !)
    test.PNG 于是我把两个插件,一个音乐一个语法高亮,给禁用了,发现速度大幅提升,但是还是很慢,这次是 css 拖累了。
    disable.PNG

    那没问题来了,为什么会出现一开始网站速度快,现在速度慢了?常见的不外乎这三个原因:

    1. PHP
    2. MySQL
    3. 服务器

    首先是 PHP:
    我刷新首页,统计 php-fpm,平均 CPU 占有率为 2.6-3.6%,网站是搭建在一台双核 VPS 上的,超售是肯定的,刷新首页占用这么多确实说不过去,但是还远远不至于让我等 8S 的程度。
    然后是 MySQL:
    我百度了一下 MySQL 的性能测试,一圈试下来也没弄明白到底性能怎么样,但是使用 mysqladmin 检测的时候发现,普通的访问并不会有多大的性能浮动。
    mysql.PNG 最后是服务器的性能:
    这个其实没有什么好测的,内存占用,CPU 性能,硬盘读写,网络连接,试了一圈下来发现虽然性能都不好,但是不至于影响到这个程度。

    所以,网站变慢,我是怎么办的?
    我找不出原因,我还能怎么办?

    现在怀疑是 PHP 或者某些地方配置除了问题,毕竟最开始的时候一切正常。

    34 条回复    2018-09-24 09:05:08 +08:00
    SukkaW
        1
    SukkaW  
       2018-09-23 12:04:51 +08:00   ❤️ 8
    然而我觉得就是你主机的问题。我访问了你 Profile 页面那个域名,TTFB 长达 27s。这根本不是动静分离、把 css 从源站剥离能解决的了。
    looseChen
        2
    looseChen  
       2018-09-23 12:05:30 +08:00
    能用钱解决的问题都不是问题
    ionblue
        3
    ionblue  
    OP
       2018-09-23 12:07:26 +08:00 via Android
    @SukkaW 1# 很有可能,但是一开始配置好并没有出现这种情况,我还得花时间再仔细检查一下。
    SukkaW
        4
    SukkaW  
       2018-09-23 12:07:50 +08:00   ❤️ 6
    如果还要考虑做动静分离的话,把你的插件魔改一下,Aplayer、MetingJS、Highlight 都有公共 CDN 库的。
    asuraa
        5
    asuraa  
       2018-09-23 12:24:45 +08:00
    我的 1m 小水管 速度还是很快的 luodaoyi.com
    hearfish
        6
    hearfish  
       2018-09-23 12:37:41 +08:00
    打开真的慢,楼主在不知道原因的情况下可以做排除法
    ping
    静态页面
    简单的 php,不调用 mysql
    php+mysql
    每做一项之前最好重启一下 apache/nginx/php-fpm/mysql
    janus77
        7
    janus77  
       2018-09-23 12:50:54 +08:00
    lz 的态度一直都是「虽然这里有点慢,但是没有达到那么慢的程度,所以肯定不是这里的问题」
    你的检测太模糊了,有很多细节会大幅影响速度,你这个结论就是不准确的。
    况且,有的时候不是一个地方,是多个地方不对的话,会产生 1+1>2 的负作用,这是单个的对照无法检测出来的。
    建议你先不要自己折腾,看看别人的文章,人家是怎么优化的。如果你把配置和环境调成跟人家一样,能提升多少?如果能提升 10%,那就很不错了,多个 10%的提升加起来,速度是慢慢提起来的,不是某一个点好了就能直接翻倍的。
    lulinux
        8
    lulinux  
       2018-09-23 13:10:25 +08:00 via Android
    https://www.lulinux.com/archives/4659
    看看这个,万一就是这个原因呢?
    likuku
        9
    likuku  
       2018-09-23 13:13:14 +08:00
    这个微博微信两大平台主宰中文字自媒体环境的时代,简体中文世界的个人中文博客早已死了。
    Wicked
        10
    Wicked  
       2018-09-23 14:06:21 +08:00 via iPhone
    @likuku 我正好两个都不看,只喜欢 rss 订阅。凡是双微上面来的,大概率是低劣信息。
    kisnows
        11
    kisnows  
       2018-09-23 14:19:54 +08:00
    @luodaoyi #5 确实挺快,服务器在国内吗?
    ztshia
        12
    ztshia  
       2018-09-23 14:56:48 +08:00
    一分钟,没打开。
    summerwar
        13
    summerwar  
       2018-09-23 14:59:17 +08:00
    index-ro-* 这些图片一个好几 M 真的好吗?
    ionblue
        14
    ionblue  
    OP
       2018-09-23 15:00:10 +08:00 via Android
    @summerwar 13# 随手放上去的测试,想看一下是不是网络的问题。
    asuraa
        15
    asuraa  
       2018-09-23 15:04:02 +08:00
    @kisnows 京东的便宜服务器
    pricelessLucky
        16
    pricelessLucky  
       2018-09-23 15:18:03 +08:00
    ping 了一下,网速没啥问题。

    我也挺好奇为啥这么慢的,马克一下
    kisnows
        17
    kisnows  
       2018-09-23 15:26:46 +08:00
    @luodaoyi #15 哦,那就还是要备案喽。
    Ya
        18
    Ya  
       2018-09-23 15:36:46 +08:00
    你倒是发博客网址啊???? 醉了 表达要点啊
    pricelessLucky
        19
    pricelessLucky  
       2018-09-23 15:41:34 +08:00
    @Ya 他的个人资料中有
    Ya
        20
    Ya  
       2018-09-23 15:49:15 +08:00
    @pricelessLucky 那不是还要去找?
    ionblue
        21
    ionblue  
    OP
       2018-09-23 15:57:10 +08:00 via Android
    @Ya 18# 放上来的几个截图里面,第一行就是网址。最开始觉得,直接把网址放上来,有广告的嫌疑。
    realpg
        22
    realpg  
       2018-09-23 17:27:50 +08:00
    嗯嗯嗯 实际上没那么复杂 就是你的太小水管了
    你都知道你是个 3M 小水管,从截图上看,竟然有一个单一页面挂了 3 张好几 MB 的大图……
    realpg
        23
    realpg  
       2018-09-23 17:30:24 +08:00
    PS 我并没有真去访问你的网站 仅从截图分析 资料太少且测试太业余
    另外 程序写的水平也是未知数

    对网络知识储备不足的人的去性能分析性能调优从来都是噩梦
    opengps
        24
    opengps  
       2018-09-23 18:14:51 +08:00 via Android
    前台资源看浏览器瀑布流
    后台资源分步骤打日志找慢的代码段落
    至于超售,基本不用考虑,超售确实影响,但是真形象也是大家一起慢,一般情况下不是你自己慢
    WuwuGin
        25
    WuwuGin  
       2018-09-23 18:15:24 +08:00 via Android
    之前开发一个论坛应用,在本地配置下访问发现有 300ms 的页面生成时间,最后用了 fpm 就正常了。
    所以调试无外乎就是部署到本地(排除网络速率影响)。
    因为框架的 debug 有 SQL 操作的总时长,所以也可以快速查明。
    最后部署到线上的时候添加了一个从入口到生成页面时间计数的功能,每次访问也能看见是否正常。
    Tink
        26
    Tink  
       2018-09-23 18:21:43 +08:00 via iPhone
    你可能需要 cdn 吧
    metaquant
        27
    metaquant  
       2018-09-23 18:25:45 +08:00
    你看,静态博客就没有这些个问题,只要主页够简单,打开时间很难超过 1 秒。https://md.metaquant.org

    lfzyx
        28
    lfzyx  
       2018-09-23 21:08:56 +08:00
    我在香港,打开你的博客很快啊,1 秒就打开了
    FakeLeung
        29
    FakeLeung  
       2018-09-23 21:16:05 +08:00 via Android
    https://blog.leungjz.top
    1c1g1m 的小肉鸡。
    ccnccy
        30
    ccnccy  
       2018-09-23 22:54:11 +08:00 via iPhone
    找个在线网站测速看看,有分析的,看下是第一字节慢呢,还是里面的哪些文件慢,还是网站响应时间慢,如果是文件慢,那就挂 cdn,如果是响应时间慢,那就是服务器问题,再看看 php 里面的慢日志,如果都没问题,WordPress 有个数据库执行时间的插件,看看是不是查询问题。
    swordspoet
        31
    swordspoet  
       2018-09-24 00:39:01 +08:00 via iPhone
    @metaquant 速度真快,怎么实现的?
    huclengyue
        32
    huclengyue  
       2018-09-24 02:21:03 +08:00 via Android
    不试试又拍云的 CDN 吗?我主机在台湾,用了 CDN 之后速度还可以,要是去掉首页的高清发图,速度应该会更快 https://www.apkdv.com
    Humorce
        33
    Humorce  
       2018-09-24 06:32:29 +08:00 via iPhone
    个人站直接用 cf 的免费 cdn 吧
    metaquant
        34
    metaquant  
       2018-09-24 09:05:08 +08:00
    @swordspoet #31 主要是因为我的主页很简单,只有一个请求,6.5K 的文件,哈哈。

    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3051 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 14:37 · PVG 22:37 · LAX 07:37 · JFK 10:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.