Я обновляю экземпляр Plone с 4.0.3 до 4.3.11, и теперь обновление сайта работает около 16 часов. Shure, веб-сервер отключается через час или около того, но процесс все еще работает. Strace говорит:Обновление сайта Plone работает веками
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}
повторы очень часто, и иногда это occours:
futex(0x1d01d30, FUTEX_WAIT_PRIVATE, 0, NULL) = -1 EAGAIN (Resource temporarily unavailable)
iostat
говорит мне, что диск (новый SSD) используется 10% max, но в основном он работает на холостом ходу. Это также системный диск, поэтому я не исключил, что Plones Disk IO.
База данных для сайта содержит около 60,0000 объектов, в основном одного типа. Они очень маленькие объекты, не имеющие особого внимания.
Машина имеет 16 ГБ памяти и 8 ядер. Хотя только одно ядро выполняет фактическое обновление plone (почему?)
Неужели так много времени для обновления базы данных ZEO с 60 000 объектов? Как я могу знать, что он действительно что-то делает? (strace здесь не очень-то говорит).
Это обновление будет выполнять хотя бы один, возможно, несколько шагов повторной индексации. Индексирование файла может включать в себя создание внешних инструментов для преобразования их в текст. Как предлагает alepisa, посмотрите на журналы экземпляров, шаги индексирования оставляют там маркеры прогресса. –