最近有个项目客户反馈大图片无法上传,选择图片后上传,提示服务器繁忙。我在想这些小事怎么会发生呢?
排查流程
1、是否是服务端设置了上传的大小,如:php的配置upload_max_filesize
、post_max_size
是否足够;其次,有部分应用框架会额外有限制,例如ztbcms
可以附件设置最大容量
2、应用框架是否允许该类文件上传
3、排查网络原因,如访问用户在国内,服务器在海外,容易造成上传太慢,超了PHP默认30s不响应就关闭与浏览器的HTTP请求。可以尝试ping 服务器IP地址,延迟太高的,建议换到离终端用户最近的服务器。
该项目的原因就是第三种,是服务器位置的坑,延迟太高,上传速度太慢。当时服务器是在godaddy上买的亚洲区服务器,无法选择具体是哪个国家,心想海外的网络环境貌似都很厉害,海外访问应延迟不高。结果分配的服务器在新加坡,而用户大都是澳大利亚悉尼,一看地图上的距离就知道澳洲用户访问肯定比在中国访问更慢。
最简单的处理办法,把服务器换到澳大利亚悉尼机房