出现的问题

环境

VUE+JAVA

问题描述

在本地上传100MB+的文件速度特别快,基本上十几秒钟可以上传结束
但是上传到服务器后,需要5分钟以上,服务器带宽10MB(阿里云)

检查结果

经过多次检查后发现出现这样问题是因为线上服务器使用nginx作反向代理,实现前后端分离,由于NGINX的默认配置,导致文件上传速度慢

处理方法

处理NGINX的文件上传缓存,配置如下:

location ~ /fastfile {   # /fastfile 是我上传文件的地址,根据需要可以改配置
    client_max_body_size 1024m;   #允许客户端请求的最大单文件字节数,人话:能上传多大文件
		client_body_buffer_size 10m; #缓冲区代理缓冲用户端请求的最大字节数,人话:一次能接受多少文件,建议根据带宽上限设置,减少磁盘读写,加快速度
		proxy_connect_timeout 600;   #nginx跟后端服务器连接超时时间(代理连接超时),这个看需求
		proxy_read_timeout 600;      #连接成功后,后端服务器响应时间(代理接收超时),这个 同上

      proxy_pass       http://***.***.***.***:****;  #代理服务器
      break;
	}

处理结果

120MB文件,在10M带宽的服务器上,上传速度为13S

Logo

前往低代码交流专区

更多推荐