更新2 :已解决问题已解决
我使用dropzone.js处理文件上传到共享主机。共享主机位于NovaTrend。 NovaTrend正在使用Litespeed。
在这里描述的尝试中,我在400 MB的一个请求中上传了3个文件。我的上传速度是10 / Mbps。
Clientside我使用vue.js和服务器端Laravel 5.3。
PHP实现
$file->storeAs('uploaded', Uuid::generate(4));
Dropzone.js设置
parallelUploads: 20,
uploadMultiple: true,
php.ini文件看起来如下
memory_limit=512M
log_errors=On
max_execution_time=1300
max_input_time=1300
upload_max_filesize=750M
post_max_size=800M
register_argc_argv=On
upload_tmp_dir=/home/username/tmp/projectname
我知道可以在.htaccess文件中设置以下代码,以确保在上传需要大量时间的大文件时不会取消脚本。
<IfModule Litespeed>
RewriteEngine On
RewriteRule .* - [E=noconntimeout:1]
</IfModule>
现在我遇到以下问题:
发送6.2分钟的请求是可以的,因为400 MB和10 / Mbps没关系。等待(TTFB)我不知道,复制文件需要花费很多时间吗?
停滞不前的时间是充满活力的,我不知道它来自何方。我希望我理解正确,但这个错误与服务器设置无关,或者我错了?
Google文档:停止/阻止 - 请求在发送之前等待的时间。它可以等待排队描述的任何原因。此外,此时间包括代理协商所花费的任何时间。
所以我认为请求没有发送,所以问题是客户端。
更新1
包含2个文件且大小为150 MB的上传可以在没有停顿问题的情况下运行:
但另一个问题是为什么等待需要2.5分钟(TTFB)。 发送的请求再次明确。