我开发了一个 Laravel 应用程序,在其中提交一个包含 Base64 数据的数组作为有效负载。在后端,我不直接与请求交互;我只是简单地回复一下。但是,我注意到在生产环境中提交表单时出现了明显的延迟,并且这种延迟似乎与数组的长度相关。令人惊讶的是,当我在本地开发环境中提交相同的有效负载时,我收到了即时响应。有没有办法配置服务器以达到与本地环境相同水平的响应能力?
我尝试在 Digital Ocean 中对 Hypervisor 进行实时迁移以提高性能,但问题仍然存在。
您正在上传 5 个文件。您的服务器和响应必须等待上传完成。这将取决于文件的大小和连接速度。
在本地主机中,文件只是被复制,这要快得多。
您可以做的是实现一些ajax块上传,可以在您选择文件时上传文件,并在按下提交按钮之前显示一些进度条。
根据与以下参数相关的数据大小/类型,可能会出现许多问题。
请提供更多信息:
在两个环境中运行
phpinfo()
并发布以下参数的结果
; Maximum amount of time each script may spend parsing request data. It's a good
; idea to limit this time on productions servers in order to eliminate unexpectedly
; long running scripts.
; Note: This directive is hardcoded to -1 for the CLI SAPI
; Default Value: -1 (Unlimited)
; Development Value: 60 (60 seconds)
; Production Value: 60 (60 seconds)
; http://php.net/max-input-time
max_input_time = 60
; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 30
; Maximum amount of memory a script may consume
; http://php.net/memory-limit
memory_limit = 128M
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size = 8M
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 32M
; Maximum number of files that can be uploaded via a single request
max_file_uploads = 20
正如 kris localhost 已经指出的那样,实际上是同一台机器,因此数据上传几乎是即时的,因为所有网络延迟都被忽略了。