【发布时间】:2018-08-10 14:31:20
【问题描述】:
This article 在 Heroku 上指出 128MB 对于大多数 PHP 应用程序来说应该足够了。我认为这是对 composer 的大胆声明,它在运行时将内存限制增加到 1.5GB。
具体来说,我们在生成 PDF 或处理大型数据库导出时会遇到问题。我想我在这里错过了一些最佳实践。我们应该如何处理 Heroku 上的内存密集型任务?
实现此目的的一种方法可能是编写.user.ini 以增加内存限制。但我想这被认为是不好的做法。
【问题讨论】:
-
Composer 在命令行界面上运行,因此您不可能有 10 个并发用户都在运行 composer 命令。通常,所有需要大量内存的任务都可以编写为命令行任务,以在异步队列中或按计划运行,以确保您不会同时运行许多并发的内存密集型任务。
-
“128MB 对于大多数 PHP 应用程序来说应该足够了” - 我认为“大多数 PHP 应用程序”不会生成 PDF 或处理大型数据库导出。
-
@SeanBright 我认为使用 PHP 生成 PDF 文件很常见。例如,想想发票。
-
@Chrisissorry 我没有证据支持这一点,但我的直觉告诉我,“大多数 PHP 应用程序” 都是简单的 CRUD 应用程序。无论哪种方式,这都不能回答您的问题。