前情提要
在上一篇《Nextcloud部署安装教程-基于宝塔面板的手把手教学》的文章中,已经教大家如何安装Nextcloud的咯~
但可怕的是我的站点安装完成之后通过网页端的上传速度只有区区的150K/s,这个结果真的是让我惊呆了!尽管是甲骨文免费的服务器!尽管远在美国!那也不至于只有150K/s啊,这我要是上传一个100M的文件,还不得等到后年马月啊!

按照上一篇的教程,我们Opcache、Redis、Memcached啥啥啥的也有安装成功了呀。网页的加载速度倒是还可以。就是这上传的速度困扰了我很久。不信邪的我直接通过宝塔后台上传一个文件看看速度如何。进一步来验证到底是服务器的网络差,还是我的Nextcloud没有优化好,又或者说Nextcloud的网页上传速度就已经是瓶颈了?

150KB/s VS 1.58MB/s
对比很明显啊,这也不是网络的锅呀。按道理使用PHP上传最起码也应该能有个1MB/s吧。于是我就开始寻找解决方案。在经过了百度、谷歌、Bing之后,我得到了一个结论。就是还是谷歌管用!哈哈!
开始优化

其实关于上传速度的优化官方已经给出了详细的教程,我们根据教程来试试看。首先登陆到你服务器的SSH,并运行以下命令。(其中 nextcloud.izcv.com 替换成你的主目录)
sudo su
cd /www/wwwroot/nextcloud.izcv.com
sudo -u www php occ config:system:set --type int --value 20971520 files.chunked_upload.max_size

执行以上命令后,再次尝试通过网页端上传文件。上传速度可以达到 1.1M/s,尽管速度也不是很快。但是已经相较于之前提升了不止一点。可以说是和宝塔后台上传的速度接近。属于我本地到甲骨文美西的瓶颈了。
优化原理
官方提供的教程已经解释的很清楚了。原理就是通过网页端上传文件的时候,Nextcloud系统会针对文件进行分块。默认按照100M进行分块,刚刚我们运行的命令是调整成20M进行分块。当然您可以可以设置完全不分块,用以测试哪种上传速度最快。