php 执行 MySQL 查询时适用哪些内存限制

php 执行 MySQL 查询时适用哪些内存限制

如果我将 php 作为 FPM 运行,我可以在 php.ini或中设置内存限制.user.ini。PHP 可以执行 MySQL 查询,并且我可以在 中设置内存限制,/etc/my.cnf例如 innodb 缓冲池。如果 PHP 运行查询,则适用哪个内存限制?

答案1

两者是独立的。但是,假设您在同一台机器上运行它们(这不是必需的),它们必须共享可用的 RAM。

php.ini有一个上限为了每个实例PHP。通常,Web 服务器会启动许多实例。默认设置通常就足够了。如果您有一些对于需要更多内存的 PHP 页面,您可以在可能需要更多内存的任何页面的开头执行 set_ini。(例如:图像处理)我不会更改限制,直到我遇到来自 PHP 的“内存不足”消息。

innodb_buffer_pool_size是个主要的MySQL 可调。首先,将其设置为可用的内存在允许其他应用程序合理使用后才会释放。我意识到这很模糊,但它通常有效。

相关内容