php - PHP 大文件上传内存问题

标签 php file-upload scaling litespeed

我最近接管了一个文件托管网站(类似于rapidshare、megaupload 等),目前平均每天约有 75,000 名访问者。迁移之后,我们从头开始编写自己的系统。现在是时候升级基础设施了,并且一直在研究网络服务器和扩展。现在的问题是,文件上传完成后,Web 服务器没有“刷新”用完的内存。我们上传了多个300MB+的文件,上传之前,我们有大约3.7G的可用内存,上传3个每个300M的文件后,内存使用量约为1.2G。最初,我们认为这可能是 apache 问题,但升级到 Litespeed 也没有解决它。这是“顶部”的“内存使用情况”

内存:总共 4015996k,已用 1206036k,空闲 2809960k,114984k 缓冲区

我正在摸索如何“刷新”Web服务器或php在上传过程中使用的内存,因为这样系统将很快耗尽内存并崩溃。

这是我的 php.ini 值:

最大执行时间 = 6000 最大输入时间 = 6000 内存限制 = 2048M post_max_size = 2047M upload_max_filesize = 2047M

在 Apache 上,php 在 fcgi 上运行,在 Litespeed 上运行,它是 Litespeed SAPI。

谢谢, 比尔

最佳答案

我刚刚发现它是“缓存内存”,我可以通过以下命令释放它: echo 3 >/proc/sys/vm/drop_caches

cat /proc/meminfo

内存总计:4015996 kB 内存空闲:2490780 kB 缓冲区:118232 kB 缓存:1204168 kB 交换缓存:0 kB 活跃:358748 kB 不活动:991220 kB 活跃(匿名):28024 kB 不活动(匿名):0 kB 事件(文件):330724 kB 非事件(文件):991220 kB 不可驱逐:0 kB 锁定:0 kB 高总计:3179664 kB 高免费:1918528 kB 低总计:836332 kB 低免费:572252 kB 交换总计:48827384 kB 免隔夜利息:48827384 kB

关于php - PHP 大文件上传内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2821895/

相关文章:

php - 一个 PHP 表映射

php - 如何在codeigniter php中的ajax请求中写入url?

c# - 上传到 webDAV 的非常大的文件导致 tomcat OOM 错误

php - .JPEG .JPG 高质量图像不在 PHP HTML 中上传

javascript - 是否使用 Ajaxify?

matlab - matlab中y轴的自定义缩放

Android:高质量的图像大小调整/缩放

php - 如何在laravel中上传多张图片

python - 使用 Tornado 将二进制文件流式传输到 Google Storage

如果发件人是雅虎邮箱,则 gmail 不会收到 phpmailer 电子邮件