Ограничения облачных хостингов, о которых вы не знали
На понимание проблемы ушло 20 часов. На её исправление — 10 минут.
О проекте
Сайт клиента продаёт оборудование для биолабораторий. Для развёртывания сайта на Drupal используется Platform.sh — облачная платформа для хостинга сайтов, к которой можно подключать разные сервисы, прописав их в config-файле.
Проблема
Мы сделали для сайта новые категории оборудования и фильтры поиска. Чтобы они включились и влияли на результаты поиска, нужно было обновить поисковый индекс, помогающий искать и правильно сортировать информацию. Но сервер поискового движка Solr падал и перезагружался из-за индексации сразу шести языков, которые поддерживает сайт. Запросы валили его только на dev- и stage-серверах, используемых как демонстрационные, в то время как на prod-сервере всё работало нормально.
Решение
Причина нашлась в ограничении, которое задаёт Platform.sh для демонстрационного окружения. Техподдержка Platform.sh на наши запросы отвечала: «Ваш запрос слишком большой, поэтому не может сохраниться в памяти». Мы начали удалять поля из индекса, чтобы сократить запрос, а в итоге удалили поле, которое отвечает за язык контента — и без мультиязычности всё заработало правильно. Этого хватило клиенту, чтобы принять задачу и благословить нас на деплой сайта на prod-сервер.
Читайте дальше: Как выбрать хостинг для сайта на Drupal?