В настоящее время я занимаюсь интеграцией старого сайта на WordPress (10+ лет) с Discourse. Я приложил много усилий, чтобы убедиться, что экземпляр WP чистый и работает хорошо с 10-летними данными. После установки плагина WP-Discourse и настройки всего (надеюсь, правильно), сервер начал сильно тормозить. Он размещен на Cloudways, поэтому я спросил их инженеров, не упустил ли я что-то.
Они ответили, что /wp-json/wp-discourse/v1/discourse-comments?post_id=undefined вызывает огромный удар по производительности. Я не совсем понимаю, почему post_id могут быть неопределенными.
На следующем изображении представлен список запросов URL за 24 часа.
Есть ли у кого-нибудь идеи, как исправить эту ошибку? Я много искал хороший ответ на это. Просто хочу убедиться, что получу некоторые insights, прежде чем углубляться в тонкости кода.
Маршрут, к которому осуществляется запрос по адресу /wp-json/wp-discourse/v1/discourse-comments, доступен только при включённой опции «Загружать комментарии с помощью Ajax». Эта опция находится на вкладке настроек WP Discourse Commenting. Попробуйте отключить эту настройку.
Отключение этой настройки должно решить проблему с запросами к /wp-json/wp-discourse/v1/discourse-comments. Дайте знать, если это не поможет.
Мне непонятно, почему запросы к этому маршруту отправлялись с параметром post_id=undefined. В запросе должен использоваться id текущего поста. Если параметр post_id установлен в undefined, функция, обрабатывающая этот маршрут, вернёт пустую строку. Включение опции «Загружать комментарии через Ajax» приведёт к увеличению количества запросов к вашему серверу по сравнению с её отключением, поэтому, если у вас нет проблем с тем, что комментарии не обновляются из-за кэширования, эту опцию лучше оставить отключённой.