Понедельник, 12 августа 2019 г.
В большинстве случаев поисковая система Google работает без ошибок. Наши специалисты не покладая рук устраняют малейшие признаки технических проблем до того, как их заметят обычные пользователи или веб-мастера, чьи сайты мы индексируем и добавляем в результаты поиска. Благодаря этому в работе поисковой системы редко происходят ошибки. Даже если бывают мелкие неполадки, в подавляющем большинстве случаев знают о них только специалисты, отвечающие за поддержку продуктов Google. К сожалению, когда дело касается сложных технологий, могут происходить и более серьезные сбои, последствия которых затронут и пользователей, и создателей сайтов.
Не так давно именно это и случилось с системами индексирования – ошибка, впоследствии по принципу домино затронувшая и другие сегменты инфраструктуры Google. Специалисты Google сделали все, что было в их силах, для устранения этой проблемы в кратчайшие сроки. Мы стремимся к тому, чтобы у обычных пользователей и владельцев сайтов был постоянный доступ к высококачественным сервисам, и просим у вас прощения за простой в работе наших ресурсов.
После этого случая мы стали уделять аспекту отказоустойчивости ещё больше внимания. В процессе устранения проблемы мы пришли к определенным выводам, которыми хотим с вами поделиться. В этой статье мы подробнее расскажем, что же тогда произошло, объясним, как в будущем планируем улучшить взаимодействие при подобных ситуациях, и напомним владельцам сайтов, по каким каналам они могут с нами связаться.
Итак, что же случилось несколько месяцев назад?
В апреле мы столкнулись с проблемами индексирования. Индекс Google Поиска – это база данных, где хранятся сотни миллиардов веб-страниц, которые просканированы нашими роботами и, по нашему мнению, содержат полезную информацию, которая может быть показана в ответ на типичные запросы пользователей. Когда пользователь вводит ключевые слова в строку поиска Google, наши алгоритмы ранжирования за доли секунды просматривают страницы индекса и находят наиболее подходящие результаты. Ниже приведено подробное описание произошедшего.
1. Проблема индексирования
Все началось с того, что мы временно потеряли часть индекса Google Поиска.
Постойте… О чем речь? Как это – "потеряли часть индекса"? Это вообще возможно?
Если говорить простым языком, то для быстрого получения результатов поиска запрос пользователя передается не далее ближайшей группы центров обработки данных Google Поиска. В ответ они предоставляют контент, на основе которого и создается страница результатов поиска. Когда в индекс вносятся изменения (добавляются или удаляются страницы, происходит объединение документов или данные изменяются как-то иначе), они должны быть учтены в каждом из этих центров. Это нужно для того, чтобы при поиске в любой стране мира всегда выводился набор страниц, созданный с использованием последней версии индекса.
Сохранять единообразие массива данных во всех центрах – задача нетривиальная. Установка обновлений для крупных пользовательских сервисов обычно начинается с одного центра обработки данных и завершается тогда, когда последняя версия индекса будет внедрена на всех задействованных ЦОД. Что касается критически важных компонентов, то их замена может занять несколько дней и выполняться в разных регионах поэтапно (источник).
Итак, 5 апреля (во вторник) мы начали плановое обновление индекса Google Поиска, а в пятницу некоторые элементы системы развертывания дали сбой. Если точнее, то при обновлении индекса в некоторых центрах обработки данных система удалила из базы несколько документов. Так мы и потеряли часть индекса.
К счастью, дежурные инженеры заметили проблему сразу же, когда о ней начали говорить в социальных сетях. Ещё раз спасибо всем пользователям, которые в те выходные не стали молчать! Благодаря этому мы смогли приступить к восстановлению индекса Google Поиска во всех центрах обработки данных всего через несколько часов после обнаружения сбоя (у нас всегда есть резервная копия индекса на такой случай).
В воскресенье, 7 апреля, мы сообщили, что знаем о проблеме и постепенно решаем ее. За восстановлением индекса вы могли следить через Твиттер (следующие новости появились 8 апреля и 9 апреля). 11 апреля мы смогли с уверенностью заявить, что во всех центрах обработки данных индекс был восстановлен.
2. Проблема с сервисом Search Console
Search Console – это набор инструментов и отчетов, при помощи которых веб-мастера могут оценивать позиции своих сайтов в результатах поиска. Например, можно увидеть, сколько показов и кликов ежедневно набирает сайт в результатах обычного поиска, или узнать, какие из его страниц включены в индекс Google Поиска, а какие нет.
Из-за описанных выше проблем с индексом в Search Console также стали появляться несоответствия. Все дело в том, что часть данных, которые вы видите в Search Console, создается именно в индексе Google Поиска:
- Точность показателей в отчете об индексировании зависит от согласованности данных в центрах обработки.
- При сохранении страницы в индексе можно добавить к записи о ней сведения с основными сигналами, например о разметке для показа в расширенных результатах поиска. Это значит, что из-за проблем в работе индекса Google Поиска отчеты о статусе расширенных результатов Search Console могут содержать ошибки.
Для большинства отдельных отчетов Search Console данные запрашиваются из специальной базы, которая формируется отчасти на основе информации, поступающей из индекса Поиска. Когда нам пришлось возвращаться к его предыдущей версии, обновление базы данных Search Console тоже было поставлено на паузу. В разных отчетах были замечены "плато" или разрозненность данных (например, в инструменте проверки URL).
На решение проблемы с индексом Google Поиска и откат к предыдущей версии (пояснение мы привели выше) ушло несколько дней. К исправлению ошибок в базе данных Search Console инженеры приступили, только когда были уверены, что индексирование выполняется правильно. В твите от 15 апреля мы предупредили пользователей о проблемах в Search Console и сообщили, что уже решаем их. Работы были завершены 28 апреля, и тогда же возобновился сбор исходных данных для отчетов (как видно на диаграмме выше). Уже 30 апреля мы опубликовали в Твиттере новость, что проблема устранена.
3. Проблемы, не связанные с основной ошибкой индексирования
Google Поиск – это несколько систем, которые находятся в постоянном взаимодействии. Некоторые из них тесно связаны друг с другом, но бывают случаи, когда в разных элементах единого механизма одновременно возникают проблемы, не имеющие друг к другу никакого отношения.
В ситуации, о которой идет речь, масштабному сбою индекса сопутствовали краткосрочные проблемы при сборе актуальных материалов для Google Новостей. Кроме того, при отрисовке страниц некоторые URL перенаправляли робота Googlebot на совершенно другие ресурсы. Эти неполадки возникли совершенно независимо от ошибки индексирования и были устранены почти сразу (первый твит и второй твит).
Наши каналы взаимодействия и планы по их развитию
Когда в наших системах происходили сбои, мы предупреждали об этом в социальных сетях (как уже упоминалось выше), а веб-мастеров информировали более подробно по ещё двум каналам: через Search Console и Справочный центр Search Console.
Через Справочный центр Search Console
Сразу после обнаружения проблемы мы обновили справочную страницу о расхождениях в данных Search Console. На ней обычно публикуются новости о таких сбоях, если с ними могут столкнуться многие владельцы сайтов.
В Search Console
Не все пользователи заглядывают в социальные сети или в Справочный центр. Мы это понимаем и поэтому добавили в отчеты Search Console примечание, что данные могут быть неточными (как на изображении ниже). Эта информация была размещена после устранения всех ошибок. При нажатии на ссылку "Подробнее…" пользователи попадают на страницу Справочного центра, посвященную отслеживанию резких изменений в данных.
Новый уровень взаимодействия
Когда в Google происходит непредвиденная ситуация, мы проводим обязательную работу над ошибками: составляем отчет о сбое и обсуждаем, как сделать так, чтобы в будущем он не повторился. Подробное описание процедуры приведено на нашем ресурсе, посвященном контролю надежности сайтов.
После апрельских проблем с индексированием в план работы над ошибками был добавлен пункт о правилах взаимодействия с веб-мастерами при возникновении серьезных системных сбоев. Мы определили для себя следующие основные направления:
- Нам следует найти новые способы, позволяющие оперативно информировать вас о масштабных проблемах непосредственно через Search Console и сделать этот сервис главным источником справочной информации для веб-мастеров в случае подозрений на сбой в системе.
- Мы будем более оперативно публиковать записи на странице в Search Console, посвященной расхождениям в данных, если проблема является существенной, т. е. наблюдается достаточно продолжительное время.
- Мы продолжим незамедлительно публиковать в Твиттере новости, чтобы веб-мастера были в курсе того, что проблема с нашей стороны и мы знаем о ней.
Выполняя эти обязательства, в будущем мы сделаем устранение похожих неполадок более прозрачным процессом для вас.
Претворение планов в жизнь: пример с ошибками индексирования новых URL
22 мая мы заметили новую проблему и решили проверить новую стратегию взаимодействия на практике. Суть проблемы состояла в том, что после планового обновления инфраструктуры обработка некоторых URL в системе управления дубликатами завершалась ошибкой нехватки памяти. Из-за этого входящие URL не обрабатывались.
Вот хронология наших уведомлений для пользователей с учетом трех перечисленных выше правил:
-
22 мая, 05:30 по калифорнийскому времени: наши специалисты заметили проблему.
22 мая, 06:40 по калифорнийскому времени: мы опубликовали твит о возникшей проблеме.
22 мая, 22:00 по калифорнийскому времени: мы опубликовали твит об успешном решении проблемы. - Мы размышляли о том, уведомлять ли веб-мастеров через страницу Справочного центра, посвященную отслеживанию резких изменений в данных, и в итоге отказались от этой мысли, так как не предполагали долговременного искажения показателей в Search Console.
- Замешательство, которое эта проблема вызвала у многих, подтвердило наши предыдущие заключения о том, что необходимо найти способ выводить в Search Console хорошо заметное уведомление о возможных сбоях в работе систем. На реализацию такого решения нужно больше времени. Когда у нас появятся новости, мы вернемся к этой теме.
На прошлой неделе мы устранили ещё одну проблему индексирования, рассказав о ней по той же схеме, что и 22 мая: сообщили о возникновении ошибки, работах по восстановлению функциональности и их завершении в Твиттере.
Отладка и связь с нами
Надеемся, что теперь вы будете яснее представлять, насколько сложны наши системы, в которых тоже иногда случаются сбои, и какие существуют каналы взаимодействия в случае неполадок. Хотя эта статья и посвящена масштабному сбою в наших системах, важно помнить, что большинство проблем с индексированием возникает из-за неправильных настроек сайтов, препятствующих добавлению их страниц в индекс Google Поиска. Если загвоздка именно в этом, то веб-мастер может выполнить отладку, пользуясь инструментами Search Console и статьями в Справочном центре. Это не помогло, и вы уверены, что проблема не связана с вашим сайтом, или не знаете, как ее решить? Обратитесь к нам либо посетите форум. Мы всегда рады отзывам от пользователей. Сообщить нам о проблеме можно несколькими способами:
- Посетите наш форум сообщества веб-мастеров. Возможно, другие специалисты уже обсуждают проблему, которая затронула и ваш сайт.
- Расскажите лично. Нам нравится общаться с вами. Побеседуйте с представителями Google на любом мероприятии.
- Воспользуйтесь возможностями внутри сервисов. Мы всегда просматриваем комментарии в инструменте для сбора отзывов Search Console.
- Поделитесь в Твиттере или на YouTube.