Просто для справки: я только что обновил два своих форума, и оба обновления заняли менее часа. В обоих случаях я временно увеличил объём оперативной памяти до 8 ГБ, а затем снова уменьшил. Этот конкретный этап занял около 5 минут при (временных) 4 ядрах CPU и 8 ГБ RAM.
I, [2024-01-10T16:07:58.323464 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
110:M 10 Jan 2024 16:08:52.047 * 100 изменений за 300 секунд. Сохранение...
110:M 10 Jan 2024 16:08:52.048 * Фоновое сохранение запущено процессом 3276
3276:C 10 Jan 2024 16:08:52.384 * База данных сохранена на диск
3276:C 10 Jan 2024 16:08:52.386 * Fork CoW для RDB: текущий 1 МБ, пик 1 МБ, средний 0 МБ
110:M 10 Jan 2024 16:08:52.449 * Фоновое сохранение завершено успешно
Очистка временных файлов
Упаковка ассетов
Обновления базы IP MaxMind требуют лицензии
Пожалуйста, установите DISCOURSE_MAXMIND_LICENSE_KEY на значение, сгенерированное вами на https://www.maxmind.com
Обновления базы IP MaxMind требуют лицензии
Пожалуйста, установите DISCOURSE_MAXMIND_LICENSE_KEY на значение, сгенерированное вами на https://www.maxmind.com
I, [2024-01-10T16:12:14.362017 #3300] INFO -- : Запись /var/www/discourse/public/assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322bf777d145fed04790e.js
Здесь видно, что ember (колонка 12) использует 2,5 ГБ RAM (колонка 6) и более одного ядра CPU (колонка 3)
# ps auxfc|egrep -A29 containerd
root 1097 0.2 0.5 1510892 44924 ? Ssl 16:00 0:01 containerd
root 4507 0.1 0.0 717892 7556 ? Sl 16:03 0:00 \_ containerd-shim
root 4530 0.1 0.3 312292 30512 ? Ssl 16:03 0:00 \_ pups
systemd+ 4609 0.0 0.3 213236 28608 ? S 16:03 0:00 \_ postmaster
systemd+ 4617 0.0 0.8 213340 67288 ? Ss 16:03 0:00 | \_ postmaster
systemd+ 4618 0.0 0.0 213236 5876 ? Ss 16:03 0:00 | \_ postmaster
systemd+ 4619 0.0 0.1 213236 10076 ? Ss 16:03 0:00 | \_ postmaster
systemd+ 4620 0.0 0.1 213904 8860 ? Ss 16:03 0:00 | \_ postmaster
systemd+ 4621 0.0 0.0 68004 5592 ? Ss 16:03 0:00 | \_ postmaster
systemd+ 4622 0.0 0.0 213796 7100 ? Ss 16:03 0:00 | \_ postmaster
message+ 4682 0.2 0.4 87976 35724 ? Sl 16:03 0:00 \_ redis-server
1000 7722 1.1 0.0 0 0 ? Z 16:07 0:01 \_ esbuild <defunct>
root 7736 0.0 0.0 2476 520 ? S 16:07 0:00 \_ sh
root 7737 0.0 0.0 9296 4156 ? S 16:07 0:00 | \_ su
1000 7738 8.3 0.0 2476 580 ? Ss 16:07 0:12 | \_ sh
1000 7835 0.4 0.9 929524 78416 ? Sl 16:08 0:00 | \_ node
1000 7857 0.0 0.0 2484 524 ? S 16:08 0:00 | \_ sh
1000 7858 156 30.5 67413228 2491796 ? Sl 16:08 3:37 | \_ ember
1000 7876 39.0 1.7 11486300 145476 ? Ssl 16:08 0:44 | \_ node
1000 7882 36.7 1.5 11466956 122648 ? Ssl 16:08 0:41 | \_ node
1000 7889 37.1 4.1 11647592 340908 ? Ssl 16:08 0:42 | \_ node
1000 7761 1.5 0.0 0 0 ? Z 16:08 0:02 \_ esbuild <defunct>
Вероятно, для меня хватило бы и 4 ГБ RAM, но, как отмечено, вся эта операция стоила всего несколько центов. (Теперь я вижу, что мог бы выбрать более быстрые процессоры за дополнительный цент.)
Редактирование: я сделал резервную копию перед началом и ещё одну после завершения работы, разница во времени составила 35 минут. Таким образом, время простоя, видимое пользователями, не превысило этого значения.
Редактирование: обратите внимание, что в панели управления Digital Ocean указано, что операция изменения размера может занимать до 1 минуты на каждый ГБ данных на диске — в моём случае это было всего 14 ГБ, и, как оказалось, каждое изменение размера заняло лишь 2 минуты. Однако, если у вас на инстансе очень много данных, этот процесс изменения размера может занять больше времени. (С другой стороны, если у вас очень много данных, возможно, вы и не пытаетесь запускать систему с менее чем 4 ГБ RAM.)