Database Plone站点更新现在运行

Database Plone站点更新现在运行,database,plone,upgrade,Database,Plone,Upgrade,我将Plone实例从4.0.3更新到4.3.11,现在站点更新运行了大约16个小时。网络服务器舒尔在大约一个小时后就启动了,但进程仍在运行。斯特拉斯说: select(12, [4 11], [], [4 11], {25, 609847}) = 0 (Timeout) futex(0x1d01d30, FUTEX_WAIT_PRIVATE, 0, NULL) = 0 futex(0x1d01d30, FUTEX_WAIT_PRIVATE, 0, NULL) = 0 futex(0x1d01d3

我将Plone实例从4.0.3更新到4.3.11,现在站点更新运行了大约16个小时。网络服务器舒尔在大约一个小时后就启动了,但进程仍在运行。斯特拉斯说:

select(12, [4 11], [], [4 11], {25, 609847}) = 0 (Timeout)
futex(0x1d01d30, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x1d01d30, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x1d01d30, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x1d01d30, FUTEX_WAKE_PRIVATE, 1) = 1
select(12, [4 11], [], [4 11], {30, 0}
而这条线

select(12, [4 11], [], [4 11], {30, 0}
经常重复,有时是这样:

futex(0x1d01d30, FUTEX_WAIT_PRIVATE, 0, NULL) = -1 EAGAIN (Resource temporarily unavailable)
iostat
告诉我,磁盘(新SSD)的利用率最高为10%,但大多数情况下都是闲置的。它也是系统磁盘,所以我不专门看到plones磁盘IO

该站点的数据库包含大约60.0000个对象,大多数对象类型相同。它们是非常小的东西,没有额外的花哨

这台机器有16GB内存和8个内核。而只有一个核心正在执行实际的plone升级(为什么?)

用60.000个对象升级ZEO DB真的需要这么长时间吗?我怎么知道他真的在做什么?(斯特拉斯在这里不是很能说明问题)

这台机器有16GB内存和8个内核。而只有一个核心正在执行实际的plone升级(为什么?)

因为只有一个线程(因此只有一个CPU)正在运行升级

用60.000个对象升级ZEO DB真的需要这么长时间吗

这是不正常的。也许你有一些自定义代码,这是奇怪的事情。您是否正在连接到其他服务(solr、其他数据库等)?您正在生成文档预览吗?你的Data.fs有多大?你有多少个blob

我怎么知道他真的在做什么

调试它的第一步是知道发生了什么。尝试安装(或类似的插件)

这将指出你陷入困境的地方

如果实例在前台运行,还可以通过发送USR1信号进行回溯。见:

以获得更完整的洞察力

大约一小时后Web服务器超时

这听起来也很奇怪。如果Web服务器是apache或nginx,则超时时间应在分钟范围内

如果直接调用实例端口,则不应该有任何超时

我建议你这样做

此外,实例日志(通常在
$BUILDOUT\u目录/var/log/
下)应建议您了解升级的状态

这台机器有16GB内存和8个内核。而只有一个核心正在执行实际的plone升级(为什么?)

因为只有一个线程(因此只有一个CPU)正在运行升级

用60.000个对象升级ZEO DB真的需要这么长时间吗

这是不正常的。也许你有一些自定义代码,这是奇怪的事情。您是否正在连接到其他服务(solr、其他数据库等)?您正在生成文档预览吗?你的Data.fs有多大?你有多少个blob

我怎么知道他真的在做什么

调试它的第一步是知道发生了什么。尝试安装(或类似的插件)

这将指出你陷入困境的地方

如果实例在前台运行,还可以通过发送USR1信号进行回溯。见:

以获得更完整的洞察力

大约一小时后Web服务器超时

这听起来也很奇怪。如果Web服务器是apache或nginx,则超时时间应在分钟范围内

如果直接调用实例端口,则不应该有任何超时

我建议你这样做


此外,实例日志(通常在
$BUILDOUT\u目录/var/log/
下)应建议您了解升级的状态。

该更新将至少执行一个(可能是多个)重新索引步骤。为文件编制索引可能涉及旋转外部工具以将其转换为文本。正如alepisa所建议的,查看实例日志,索引步骤会在那里留下进度标记。该更新将至少执行一个(可能是多个)重新索引步骤。为文件编制索引可能涉及旋转外部工具以将其转换为文本。正如alepisa所建议的,看看实例日志,索引步骤会在那里留下进度标记。我现在意识到,对于每个更新步骤,我的plone都会进行目录更新。我看看,如果我能跳过这个。但它是有效的…也许我应该重新命名我的问题。这是正常的,但在60k对象上它不应该花费那么多。。。也许你有一些自定义索引或元数据?我从自定义插件的设置中删除了目录更新,并在大约20分钟内提出了这个问题。我希望这件事在一个小时左右完成。哦,是的。我现在意识到,对于每个更新步骤,我的plone都会进行目录更新。我看看,如果我能跳过这个。但它是有效的…也许我应该重新命名我的问题。这是正常的,但在60k对象上它不应该花费那么多。。。也许你有一些自定义索引或元数据?我从自定义插件的设置中删除了目录更新,并在大约20分钟内提出了这个问题。我希望这件事能在一个小时左右完成。