Привет, @angus. Я не могу точно сказать, что именно происходит — для этого нужен администратор и человек, хорошо разбирающийся в плагине ActivityPub. Однако я наблюдаю, что этот форум иногда работает медленно или даже становится недоступным, и, похоже, это как-то связано с публикациями, которые передаются через федерацию.
Сообщил об этом в этом посте. Вчера я заметил проблему после того, как @silverpill опубликовал этот ответ. При этом я получил ошибку «503 Gateway timeout» от NGINX, что, по моему мнению, может быть связано с этим постом.
Я также заметил, что SH перестаёт отвечать при публикации ответа. Это происходит потому, что ответы отправляются на множество других серверов, которые начинают загружать дерево ответов одновременно.
Если это так, то по сути это проблема «грохочущего стада», аналогичная проблемам, которые могут возникать из-за предпросмотров ссылок. Мерами смягчения здесь являются отказ программного обеспечения от автоматической загрузки ресурсов, которые могут никогда не быть просмотрены, и переход к стратегиям отложенной «ленивой загрузки» по требованию.
Я отключил свой плагин из-за этой проблемы. Я получаю множество запросов без остановки от одного и того же источника-экземпляра или от множества других экземпляров, выполняющих запросы такого же типа без каких-либо ограничений на задержку. Извините, но это странно: постоянные запросы и флуд моего сервера — это уже слишком.
Привет, ребята, я скоро внимательно изучу это, надеюсь, завтра.
Я не хочу давить, и сейчас, в период летних каникул, это может быть неудобное время, но если у вас появится возможность разобраться в проблеме, это было бы здорово. Прямо сейчас один федеративный пост может значительно замедлить работу форума на некоторое время, а один пост плюс его редактирование могут привести к тому, что посетители будут видеть экраны ошибок nginx.
Привет, ребята! Если это вызывает серьёзные проблемы, отмечу, что в плагине уже есть ряд инструментов, которыми администратор сообщества может воспользоваться в подобных ситуациях.
Есть подробное логирование, включая логирование объектов, которое поможет определить источник любых проблемных акторов.
activity_pub_verbose_logging
activity_pub_object_logging
Получение входящих сообщений и объектов имеет ограничения скорости (rate limiting) и настройки сайта, с помощью которых можно контролировать частоту запросов.
activity_pub_rate_limit_post_to_inbox_per_minute
activity_pub_rate_limit_get_objects_per_minute
Существуют настройки сайта для использования allowlist и blocklist доменов.
activity_pub_allowed_request_origins
activity_pub_blocked_request_origins
Есть действия администратора, позволяющие «отклонять» подписки от проблемных подписчиков.
Кроме того, объём активности, с которым может справиться сервер, зависит от его ресурсов. На этот аспект у меня нет возможности влиять.
@aschrijver Начните с ресурсов. Какие ресурсы у сервера? Что именно перегружено? Я даже не могу загрузить socialhub.activitypub.rocks в данный момент. Подозреваю, что проблема более фундаментальная и связана с использованием ресурсов.
Затем мой второй вопрос: откуда приходят запросы? Это можно выяснить с помощью логов. Затем добавьте домены, с которых поступает много запросов, в activity_pub_blocked_request_origins.
Если мы сначала применим эти имеющиеся рычаги управления, и проблемы с производительностью всё ещё будут наблюдаться, тогда можно будет рассмотреть другие возможные причины.
Спасибо за быстрый ответ, @angus. Я всего лишь обычный участник этого форума, но эта информация может быть полезна для @how или других администраторов форума, чтобы разобраться в ситуации.
Стоит ли мне заблокировать mastodon.sdf.org? Похоже, это легитимный источник, но, возможно, их конфигурация вызывает проблемы? В любом случае, если потребуется, я смогу это сделать.
Я вообще не могу загрузить socialhub.activitypub.rocks в данный момент. Подозреваю, что проблема более фундаментальная и связана с использованием ресурсов.
Да, VPS небольшой. Я мог бы обновить его до более мощного.