Мы увеличили объем оперативной памяти и пересоздали базу данных, но проблема сохраняется.
Хотелось бы узнать, осведомлены ли разработчики об этой проблеме. Спасибо!
Есть ли какое-то быстрое решение, которое я могу применить как администратор? Может быть, увеличить время ожидания?
Не уверен. Похоже, что более длительное время ожидания помогло бы. Это происходит гораздо чаще в очень популярных ветках, поэтому кажется, что есть выборка или сканирование, которые занимают слишком много времени.
Если смогу понять, как это реализовать, сообщу. Я бы удвоил это значение.
Да, проблема сохраняется в версии 2.5.0.beta2.
Вы запускали настройку Discourse после изменения оперативной памяти? Существуют настройки, которые необходимо обновить, чтобы воспользоваться преимуществами увеличенной памяти.
Не уверен, так как реализация зависит от другого человека. Но я напомню ему, что это необходимо сделать для завершения процесса. Большое спасибо!
Здравствуйте,
При перемещении постов я часто получаю ошибки 502.
Есть ли у вас план улучшить эту ситуацию?
Спасибо
Привет, вам удалось найти это? Было бы здорово параметризовать тайм-аут в app.yml ENV или в настройках сайта Discourse для тех, у кого мало памяти.
Может, глупый вопрос?
Когда вы перемещаете много постов, управляется ли этот процесс Sidekiq?
Извините, я не искал в коде…
Обновление
Я быстро взглянул на Ruby-базу кода, и да: когда вызывается функция перемещения постов, задачи ставятся в очередь с помощью enqueue_jobs().
Не будучи разработчиком Discourse, я, как случайный наблюдатель кода, полагаю, что проблемы, связанные с задержками, ошибками или тайм-аутами при перемещении постов, напрямую зависят от производительности и конфигурации Sidekiq.
Несколько дней назад я пытался изучить, как Discourse использует Sidekiq на системном уровне, но не смог найти упрощённую версию («краткие заметки») для новичков.
Поэтому я зашёл на сайт Sidekiq, чтобы лучше понять, что происходит «под капотом», и заметил три разных предложения. Я запутался и решил отложить это
потому что не мог понять в рамках своего короткого внимания и потребности в мгновенном удовлетворении, какую версию Sidekiq использует Discourse, какие именно функции и настройки можно конфигурировать…
Будучи новичком в этой области, я хочу точно узнать архитектуру Sidekiq, его функции, настройки и переменные окружения, доступные в Discourse, но пока что я «всё ещё не нашёл того, что искал» — на мотив нашей любимой песни группы U2.
Все ответы продиктованы любопытством…
Обновление:
По совету одного из участников в другой теме мы отключили все плагины, кроме «Кто онлайн», и с тех пор проблем с перемещениями больше не возникало.
Так что пока осторожный оптимизм. Если что-то изменится, я обновлю информацию.
Спасибо всем, кто помогал решать эту проблему!
Какие именно плагины вы отключили?
Скорее всего, это пустая болтовня. Я предполагаю, что там есть хуки, которые срабатывают при перемещении поста.
Хорошо, спасибо. И отдельное спасибо @featheredtoast за исправление.
Недавно в моём сообществе начала возникать проблема с ошибкой 502 при перемещении постов, особенно между большими темами. У меня не было установлено никаких пользовательских плагинов. Следуя советам из другой темы Discourse, я увеличил значение unicorn_workers до 10 и db_shared_buffers до 4096 МБ, но это не улучшило ситуацию. Ниже приведён лог утилиты ./discourse-doctor нашего форума. Буду признателен за любые рекомендации. Спасибо!
==================== ИНФОРМАЦИЯ О DOCKER ====================
ВЕРСИЯ DOCKER: Docker version 17.10.0-ce, build f4ffd25
ПРОЦЕССЫ DOCKER (docker ps -a)
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ddfb2222fd64 local_discourse/app "/sbin/boot" 10 days ago Up 10 days 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp app
ddfb2222fd64 local_discourse/app "/sbin/boot" 10 days ago Up 10 days 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp app
Контейнер Discourse app запущен
==================== ПЛАГИНЫ ====================
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-solved.git
Не обнаружено неофициальных плагинов.
См. официальный список по адресу: https://github.com/discourse/discourse/blob/master/lib/plugin/metadata.rb
========================================
Discourse 2.6.0.beta2
Версия Discourse на localhost: Discourse 2.6.0.beta2
==================== ИНФОРМАЦИЯ О ПАМЯТИ ====================
RAM (МБ): 16434
total used free shared buff/cache available
Mem: 16048 5605 919 4255 9523 5850
Swap: 2047 437 1610
==================== ПРОВЕРКА СВОБОДНОГО МЕСТА НА ДИСКЕ ====================
---------- Свободное место на диске ОС ----------
Filesystem Size Used Avail Use% Mounted on
/dev/disk/by-label/DOROOT 315G 132G 168G 45% /
/dev/disk/by-label/DOROOT 315G 132G 168G 45% /var/lib/docker/aufs
/dev/disk/by-label/DOROOT 315G 132G 168G 45% /
/dev/disk/by-label/DOROOT 315G 132G 168G 45% /var/lib/docker/plugins
/dev/disk/by-label/DOROOT 315G 132G 168G 45% /
---------- Свободное место на диске контейнера ----------
неизвестный краткий флаг: 'w' в -w
См. 'docker exec --help'.
==================== ИНФОРМАЦИЯ О ДИСКЕ ====================
Диск /dev/vda: 320 ГиБ, 343597383680 байт, 671088640 секторов
Единицы измерения: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: gpt
Идентификатор диска: 29B528BA-16C4-402E-BEE9-53555C8B6F10
Устройство Начало Конец Секторов Размер Тип
/dev/vda1 2048 671086591 671084544 320G Файловая система Linux
==================== КОНЕЦ ИНФОРМАЦИИ О ДИСКЕ ====================
Привет, у меня та же проблема. Из-за этого не удаётся разделить мега-темы.
Также пробовал в безопасном режиме — ничего не изменилось.
В моём тестовом экземпляре Discourse (та же версия 2.6.0.beta2) проблем нет.
И в логах тоже ничего.
Я получаю эту ошибку 502 уже год ![]()
Нам кажется, мы ещё не спрашивали вас: какие плагины вы используете?
Я отключил все плагины, чтобы проверить, связана ли ошибка с ними. Похоже, что проблема стабильно повторяется при длинных потоках.


