Я получаю некоторые ошибки. Вы сталкивались с ними и знаете какое-либо решение? Я думал, что это проблема с памятью в Windows, но она всё равно возникает, даже если у меня свободно 6 ГБ в Windows.
Эти ошибки возникают периодически, но довольно часто
Спасибо за любую помощь. Обратите внимание: если я попробую снова, они обычно проходят… Также в /logs об этом ничего нет.
Отмечу, что я также добавил плитки «Избранное», но если отключить блоки правой боковой панели, проблема исчезает. У меня свободно 11 ГБ памяти и достаточно места на диске.
Если я отключу плитки «Избранное» и включу блоки правой боковой панели, проблема сохраняется.
Я получил обратно 1100 строк, вот некоторые из них:
2 deprecation-identify-source.js:15 ПРЕДУПРЕЖДЕНИЕ О УСТАРЕВАНИИ: Компоненты с отдельно разрешаемыми шаблонами устарели. Мигрируйте либо на совместное размещение файлов js/ts и hbs, либо на gjs/gts. Попытка поиска ‘template:components/top-contributors’. [id предупреждения: component-template-resolving] Это будет удалено в ember-source 6.0.0. См. https://deprecations.emberjs.com/id/component-template-resolving
post.js:561 Используется новое меню постов ‘glimmer’!
2 deprecation-identify-source.js:15 ПРЕДУПРЕЖДЕНИЕ О УСТАРЕВАНИИ: Компоненты с отдельно разрешаемыми шаблонами устарели. Мигрируйте либо на совместное размещение файлов js/ts и hbs, либо на gjs/gts. Попытка поиска ‘template:components/top-contributors’. [id предупреждения: component-template-resolving] Это будет удалено в ember-source 6.0.0. См. https://deprecations.emberjs.com/id/component-template-resolving
Discourse v3.4.0.beta4-dev — https://github.com/discourse/discourse/commits/380910aedd — Ember v5.12.0
deprecation-identify-source.js:15 ПРЕДУПРЕЖДЕНИЕ О УСТАРЕВАНИИ: Компоненты с отдельно разрешаемыми шаблонами устарели. Мигрируйте либо на совместное размещение файлов js/ts и hbs, либо на gjs/gts. Попытка поиска ‘template:components/whos-online’. [id предупреждения: component-template-resolving] Это будет удалено в ember-source 6.0.0. См. https://deprecations.emberjs.com/id/component-template-resolving для получения дополнительной информации.
Это может быть причиной. В таком случае, скорее всего, вы достигли лимита запросов.
Вы можете проверить вкладку «Сеть» в консоли разработчика, если при включённых блоках правой боковой панели выполняется больше запросов.
(1) Я администратор, уровень доверия 4, так почему же “DISCOURSE_SKIP_PER_IP_RATE_LIMIT_TRUST_LEVEL” не обходит для меня любые ограничения скорости?
Глобальные ограничения скорости на IP-адрес
Эти ограничения применяются к каждому уникальному IP-адресу, обращающемуся к приложению Discourse. (Файлы, предоставляемые напрямую из файловой системы или CDN, исключаются)
По умолчанию это ограничение скорости включено; вы можете отключить его или установить режим отчётности.
DISCOURSE_MAX_REQS_PER_IP_MODE: по умолчанию block, это ограничение скорости применяется сразу после установки. (Другие варианты: warn, warn+block и none)
DISCOURSE_MAX_REQS_PER_IP_PER_MINUTE: количество запросов с IP-адреса в минуту (по умолчанию 200)
DISCOURSE_MAX_REQS_PER_IP_PER_10_SECONDS: количество запросов с IP-адреса за 10 секунд (по умолчанию 50)
DISCOURSE_MAX_ASSET_REQS_PER_IP_PER_10_SECONDS: количество запросов ресурсов (аватары/CSS) с IP-адреса за 10 секунд (по умолчанию 200)
DISCOURSE_MAX_REQS_RATE_LIMIT_ON_PRIVATE: должно ли ограничение скорости применяться к частным IP-адресам, обращающимся к Discourse? По умолчанию false.
DISCOURSE_SKIP_PER_IP_RATE_LIMIT_TRUST_LEVEL: использовать ограничения скорости на уровне пользователя вместо ограничений на IP-адрес для пользователей с этим уровнем доверия или выше (по умолчанию 1)
Чтобы изменить ограничения, добавьте желаемые изменения в файл app.yml в секции env.
Я также проверил лог доступа nginx, и он показывает разные IP-адреса для наших пользователей. (Я видел в гораздо более ранней теме, где это была проблема, что все использовали один и тот же IP-адрес для доступа).
Даже с учётом описанных выше изменений и после пересборки приложения я вижу предупреждение о лимите запросов в консоли браузера, если включены блоки правой боковой панели.
Как можно вывести или иным образом определить фактическое значение, например, переменной DISCOURSE_SKIP_PER_IP_RATE_LIMIT_TRUST_LEVEL?
Кроме того, если я отключу блоки правой боковой панели, я не вижу никаких предупреждений о лимите запросов в консоли браузера, даже если перемещаюсь по темам с той же скоростью, что и при включённых блоках правой боковой панели.
Предлагаю поискать в обсуждениях темы о лимитировании запросов.
Я не эксперт в этой теме, но, насколько я понимаю, лимитирование применяется в два этапа: сначала nginx выполняет лимитирование (не зная об уровнях доверия), а затем приложение Rails добавляет ещё один уровень защиты.
Если вы хотите проверить гипотезу о том, что вы сталкиваетесь с лимитами на уровне nginx, вы можете закомментировать следующую строку в вашем файле app.yml:
У меня не установлены ограничения скорости в nginx, который я использую как обратный прокси, и я попробую то, что вы предложили, чтобы посмотреть, что делает контейнер.
Я загружаю Leaderboard, Top Producers и Events в блоки правой боковой панели.
Я отпишусь, спасибо.
Я уверен, что вы правы, так какие же хорошие, но более мягкие значения для этих настроек в /var/discourse/templates/web.ratelimited.template.yml? Это просто метод проб и ошибок?