我认为自从我安装XDebug以来我的服务器变得很慢.所以,为了测试我的假设,我想完全禁用XDebug.我一直在寻找有关如何做到这一点的教程,但我找不到这些信息.
我正在尝试使用 Drush 将数据库更新到只有几个节点和 85 个模块的 Drupal 7 站点......随着更新几乎每次都消失很明显,对于具有 512MB 的 VPS 及其容器化服务(mysql, nginx、php-fpm 等),内存不足...
据我从日志中了解到,每次 MySQL 被内核杀死时:
内存不足:杀死进程 4310 (mysqld)
我的问题是,如何配置 MySQL 服务以避免它的“暗杀”?MySQL配置文件中有哪些参数可以降低mysqld进程的内存消耗?
我在 DEV,所以我不介意这个过程是否变慢。我只想知道我必须调整哪些参数才能在不增加内存的情况下在更新过程中幸存下来。
谢谢你的帮助。
我有一个使用 NGINX 和 PHP-FPM 的网站。您可能知道 PHP-FPM 有一个池状态页面,其中包含有关其进程的详细信息。我的问题是,随着时间的推移,许多进程状态变成“完成”,并且在我重新加载 PHP-FPM 之前不会改变它们的“完成”状态。
不好的是,“完成”进程被视为活动进程,当活动进程数量超过 pm.max_children 时,我的网站上就会发生不好的事情。
我知道一些 php-fpm 池参数可以杀死空闲进程,但我找不到在一定时间后杀死完成进程的参数。
PHP-FPM整理状态如何处理?是否有一个配置参数可以在一段时间后终止这些“完成”进程?这可能是 NGINX 和 PHP-FPM 之间的配置错误吗?“完成”状态的原因是什么?
这是 php-fpm 状态的图像。红军正在终结状态,这就是我正在努力解决的问题。请求 URI 是我网站的不同页面。

感谢您的知识。
PD1:现在我每 15 分钟重新加载一次 PHP-FPM,并“修复”或多或少的完成状态……但我认为这可能是流量增加时的一个重要性能问题。
PD2:到目前为止,我认为唯一可行的解决方案是读取 php-fpm 状态页面,获取所有具有完成状态的进程,并通过 pid 终止超过任意请求持续时间的进程。
我想知道如何在任何页面中呈现特定节点的注释表单(例如用户配置文件).我尝试使用drupal_get_form,但它显示错误.
drupal_get_form('mytype_node_form', array('nid' => $nid));
Run Code Online (Sandbox Code Playgroud)
欢迎解决方案和线索:)
我有一个带有NGINX的Drupal站点和带有3个池的PHP-FPM.
我想知道什么是FPM池或只是给我链接到良好的文档,我搜索了这个主题,但我发现的是如何配置"X"以获得更好的性能.
另外,pm.max_children是什么?我最近在日志中注意到,当池www1达到此值时,池www1停止工作,在我的网站上也锁定一个页面,直到我重新加载PHP-FPM.为什么我会在一段时间后到达pm.max_children?有没有办法在这个事件中检测并做出反应......重新加载PHP-FPM?有没有办法避免到达pm.max_children?
谢谢大家的知识.
PD:我正在为Drupal和Nginx使用perusio的配置.