Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
rv54ntjwfm3ug8
V2EX  ›  云计算

Nextcloud 运行极其缓慢应该如何排查?

  •  
  •   rv54ntjwfm3ug8 · May 11, 2021 via iPhone · 4548 views
    This topic created in 1885 days ago, the information mentioned may be changed or developed.
    在没有任何文件的情况下 Nextcloud 运行都非常缓慢,看 Chrome 的 Network 页每个请求 TTFB 都在 20 秒以上,CPU 和 RAM 以及 IO 占用都非常低,不知道从哪里开始排除问题。用的是以前在 DigitalOcean 上用过的那份 Docker 配置文件,在配置比这台低很多的机器上都能流畅运行。做过的尝试是把 PostgreSQL 换成了 SQLite,把 Redis 关了(怀疑是我数据库配置问题),把 HAProxy 反代撤了,容器 HTTP 直接暴露公网(怀疑是反代有问题),速度没有任何提升。但是把程序换成 Filebrowser,保留原来的反代配置,打开就非常快。这台服务器是 Contabo 10 核 60G RAM 的新加坡 VPS,香*港 ping 过去延迟全在 34ms 以内,因此可以排除线路问题。自己 DD 安装了一遍干净的 Ubuntu,Unixbench 跑分还是非常漂亮,编译大型项目也很快。折腾了 3 天还没解决,求 V 友帮忙看下。
    23 replies    2021-05-18 20:11:12 +08:00
    defunct9
        1
    defunct9  
       May 11, 2021 via iPhone   ❤️ 1
    开 ssh,让我上去看看
    loveyu
        2
    loveyu  
       May 11, 2021 via Android
    没开 opcache ?
    rv54ntjwfm3ug8
        3
    rv54ntjwfm3ug8  
    OP
       May 11, 2021 via iPhone   ❤️ 1
    @loveyu #2 用的是官方 Docker 镜像,应该默认就是开着的
    timepast
        4
    timepast  
       May 11, 2021 via Android
    换了,seafile
    tankren
        5
    tankren  
       May 11, 2021
    换 seafile
    ferock
        6
    ferock  
       May 11, 2021 via iPhone
    这货就是性能垃圾
    villivateur
        7
    villivateur  
       May 11, 2021 via Android
    我用的是官方 docker 镜像外加自己的 mysql,不是很卡,要不你试试换个数据库呢?
    DeWjjj
        8
    DeWjjj  
    PRO
       May 11, 2021 via Android
    🌝🌝我用 gogs 也很慢,但是 gitea 快的飞起
    Osk
        9
    Osk  
       May 11, 2021
    性能糟糕的玩具, 连基础的存储功能都做不好, 建议换了. 你要是用上了, 放一个 几 GB 的文件上去, 服务器都可能假死掉.
    no1xsyzy
        10
    no1xsyzy  
       May 11, 2021
    先不走网络,直接在服务器上 time curl --resolve 走一遭

    再临时开一台服务器,全程开着 script 尝试复现,复现成功把复现过程展现出来,没复现就用新的这台(
    soulzz
        11
    soulzz  
       May 11, 2021
    nextCloud 属实拉胯
    我自己基于 MongoDb 写一个云盘性能都要比它好
    neekeV2
        12
    neekeV2  
       May 11, 2021
    换 seafile
    treizeor
        13
    treizeor  
       May 11, 2021   ❤️ 1
    可以试下 FileRun
    rv54ntjwfm3ug8
        14
    rv54ntjwfm3ug8  
    OP
       May 11, 2021 via iPhone   ❤️ 1
    @no1xsyzy #10 试过在服务器上直接 curl 了,照样卡 10 秒才有响应。
    @treizeor #13 以前试过这个,反代好像有问题,不管怎么配置都经常跳到 localhost:80
    no1xsyzy
        15
    no1xsyzy  
       May 11, 2021
    nextcloud 本来就是为了大堆外围的,虽然未必比得上设一堆专门应用,但胜在一个平台,一人一账号。
    (换句话说,只是为了存储的话还是换更好的吧,SAMBA 都更好)

    性能问题也不应是在空实例上有问题。

    先看下 compose 文件?
    matolv
        16
    matolv  
       May 11, 2021
    增加 php-fpm 数量
    rv54ntjwfm3ug8
        17
    rv54ntjwfm3ug8  
    OP
       May 11, 2021 via iPhone   ❤️ 1
    @no1xsyzy #15
    compose 文件:paste.ubuntu.com/p/DWmwB96rgs/
    同一个配置文件在 DigitalOcean 的低配机上反应非常快。
    Nginx 外还套了一个工作在 TCP 层的 HAProxy,方便 SSH 端口转发提高安全性。已测试容器 HTTP 端口暴露公网直连,确定不是反代的问题。
    byte10
        18
    byte10  
       May 11, 2021
    要不用 可道云吗
    no1xsyzy
        19
    no1xsyzy  
       May 11, 2021
    怎么还有一层 nginx,是提供静态资源吗?那估计你的 nginx.conf 也得提供下

    目前看了下
    services.nginx.volumes.2 = /opt/nginx/www/:/var/www/:ro
    这文件夹是空的吧,本来是要和 nextcloud 配到同一个地方去,不然要么需要手动更新,要么 404 然后回落到 apache 上去。

    你先不管 nginx,改下 services.nextcloud.ports 把这个的 80 直接放出来看看(而且其实没必要这个地方用 nginx 扣性能,过早优化了),问题出在 client-nginx 还是 nginx-apache
    话说也可以 sudo tshark -i br-$(sudo docker network ls | grep nginx_network | cut -d' ' -f1) 跟踪下 nginx-apache 的网络流量
    rv54ntjwfm3ug8
        20
    rv54ntjwfm3ug8  
    OP
       May 11, 2021 via iPhone   ❤️ 1
    @no1xsyzy #19 www 那个文件夹是原来用这个配置文件的服务器提供静态资源的,直接复制配置文件的时候忘记删掉了。我试过直接把 Nextcloud 容器的 80 端口暴露在公网上直接访问,同样非常慢。然后我在 compose.yaml 里把 Nextcloud 的镜像换成了 GitLab,反代配置不变,非常流畅,感觉问题出在 Nextcloud 上。
    no1xsyzy
        21
    no1xsyzy  
       May 11, 2021   ❤️ 1
    @theklf4 啊我忘了可以替换这个…… 不过我也不懂了,甚至有点怀疑 VPS 提供方有问题(因为那家自己有单独托管的 nextcloud 实例(应该不至于))
    最后一些想法:
    1. 删掉本地的 image 然后用最最基础的 docker run -d -p 8080:80 nextcloud 来一遍
    2. 降级到 20 试试
    3. 换 fpm 版本?
    4. 找 r/nextCloud 或者 help.nextcloud.com 或 VPS 提供方问
    zololiu
        22
    zololiu  
       May 12, 2021   ❤️ 1
    nextcloud 卡慢到飞起,不得解决。
    后来改用 FileRun,舒坦了。
    rv54ntjwfm3ug8
        23
    rv54ntjwfm3ug8  
    OP
       May 18, 2021 via iPhone   ❤️ 1
    已解决,竟然是因为容器间 IPv6 通信不通,所有请求都要卡几秒 fallback 到 IPv4 才能完成。白折腾了 2 周。

    cc @no1xsyzy
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5659 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 127ms · UTC 01:47 · PVG 09:47 · LAX 18:47 · JFK 21:47
    ♥ Do have faith in what you're doing.