在局域网下,Nextcloud云盘的上传和下载速度只有不到10MB
正在查看 3 条回复
- 作者帖子
- Up::1
环境: Nextcloud部署在家里面的服务器上,磁盘使用的是机械硬盘,局域网全部千兆。理论上可以实现内网传输的100-120MB速度。
但是Nextcloud在局域网环境下死活只能有10-20MB的传输速度,且不稳定,请问怎么解决。
- Up::0
关于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等。不过一般前两条优化措施都可以满足基本的需求。
- 作者帖子
正在查看 3 条回复
- 哎呀,回复话题必需登录。