在局域网下,Nextcloud云盘的上传和下载速度只有不到10MB

正在查看 3 条回复
  • 作者
    帖子
    • 问答号 - WirelessLink社区问答号
      No Role
      #862
      Up
      -1
      Down
      ::

      环境: Nextcloud部署在家里面的服务器上,磁盘使用的是机械硬盘,局域网全部千兆。理论上可以实现内网传输的100-120MB速度。

      但是Nextcloud在局域网环境下死活只能有10-20MB的传输速度,且不稳定,请问怎么解决。

      访问ChatGPT的可用VPS机房IP推荐 Lisahost美国原生IP搬瓦工美西DMITTripodcloudFrantech
    • okass - WirelessLink社区okass
      参与者
      #863
      Up
      0
      Down
      ::

      关于Nextcloud局域网速度的问题,一直是被广大玩家诟病的问题。如果按照官网套路默认安装后不采取任何优化措施,大概率就会出现这个样子。

      这里面有几个优化的措施可以采纳,效果比较显著。

      1. 针对局域网下载速度优化

      1>.使用Apcu+Redis做缓存,同时开启redis文件锁,可以减少MysqL的开销,对速度有明显提升,可以将传输速度从10M提升到50MB左右;

      2> 更改Mysql的配置参数,重点关注innodb_flush_log_at_trx_commit 参数,也就是磁盘的安全刷盘策略,改为0后可以将下载速度怼到114MB,我这里是机械硬盘+千兆局域网。有关innodb_flush_log_at_trx_commit参数的配置可以参阅网上酌情处理。

      3> 对Php的大文件读写做优化,说明白点就是优化stream_copy_to_stream,针对4MB小文件直接进入内存拷贝,超过4MB大文件回退至传统机制拷贝。2019年之前的nextcloud官方没有做相关方面的处理,后期的版本已经打入了补丁。可以参考:https://github.com/sabre-io/http/pull/119

       

      2. 针对局域网上传速度优化,

      官方默认的传输大小是10MB, 可以调整分块传输的大小,或者将分块传输关闭,同样会有显著提升

       

      3. 还有个措施就是更换磁盘,使用读写性能更好的SSD等。不过一般前两条优化措施都可以满足基本的需求。

      访问ChatGPT的可用VPS机房IP推荐 Lisahost美国原生IP搬瓦工美西DMITTripodcloudFrantech
    • okass - WirelessLink社区okass
      参与者
      #864
      Up
      0
      Down
      ::

      还有几个优化措施,如果局域网内Nextcloud是托管在PVE或者ESXI虚拟机下的话,可以尝试对PVE或者ESXI的磁盘做些IO方面的优化,或者尝试使用缓存盘SSD来提高读写性能。

      访问ChatGPT的可用VPS机房IP推荐 Lisahost美国原生IP搬瓦工美西DMITTripodcloudFrantech
    • okass - WirelessLink社区okass
      参与者
      #913
      Up
      1
      Down
      ::

      详细的debug过程可以参考这篇文章: Nextcloud在千兆局域网内将下载速度优化到110MB(1000mbps)的方法

      访问ChatGPT的可用VPS机房IP推荐 Lisahost美国原生IP搬瓦工美西DMITTripodcloudFrantech
正在查看 3 条回复
  • 哎呀,回复话题必需登录。
WirelessLink社区
Logo