Википедия – один из 10 лидирующих сайтов в мире. Она имеет около 500 млн уникальных посетителей в месяц. Это порядка 200 запросов каждую секунду! Википедия целиком и полностью некоммерческая структура, пожертвования – ее основной способ финансирования. Это значит, что MediaWiki, лежащая в основе Википедии, не только держит сайт в топе, но и делает это на очень скромные средства. И потому во главу угла ставится работа над производительностью, кэшированием и оптимизацией.
«Простои серверов – наш излюбленный способ заработка, — шутит инженер по производительности Википедии, Дома Митузас (Domas Mituzas), — фишка в том, что пока серверы недоступны, на страницу выводится просьба о пожертвовании на новое оборудование. Будучи наиболее востребованной некоммерческой структурой, Википедия являет собой показательный пример высокоэффективности работы веб-сайта. В то время, как Google и Microsoft могут потратить полмиллиарда долларов на строительство дата-центра, Википедия спокойно располагается на скромном количестве серверов в ЦОДах городов Тампа и Ашберн. Также есть серверы в Сан-Франциско и Амстердаме.
«Традиционный подход к доступности сайта – не совсем наш выбор, — высказался Митузас на конференции O’Reilly Velocity, — и я не говорю, что вам следует поступать также. Но потеря нескольких секунд не критична для нашего дела. И пока мы ни столкнемся с серьезными сложностями, никаких проблем не будет».
И пусть инженеры Википедии не слишком серьезные люди, к своей работе они относятся очень серьезно. В соответствии с принципами Википедии, где признается приоритет общества над коммерцией (на сайте мы не встретим рекламы!), ресурс получает хороший доход от пожертвований. Википедия поддерживает практически 100% доступность. И это еще не все ошеломляющие цифры:
- 23,130 млн зарегистрированных пользователей;
- 34,246 млн страниц (английская версия);
- 8,790 млн просмотров в час (английская версия);
- 4,701 млн статьей (английская версия).
Также, кому интересно, доступна интерактивная статистика, где можно найти данные по разным версиям Википедии, в том числе и русской.
Сайт появился в 2001 г и работал на скрипте CGI Perl, размещаясь на одном сервере. Во второй половине 2000-х годов у Википедии было 200 серверов приложений, 20 серверов с данными и 70 Squid кэш-серверов. На данный момент количество серверов выросло до 885. Работает она на софте MediaWiki, который написан специально для нее, а сейчас уже является проектом с открытым исходным кодом. MediaWiki использует PHP на базе MySQL. В дополнение к Squid, Википедия использует Memcached и балансировщик нагрузки для виртуальных серверов Linux (LVS). Википедия также использует шард-приложения для установки взаимосвязей между базами данных. Больше технических деталей можно получить в презентации Митузаса и Марка Бергсма (Mark Bergsma) из WikiMedia.
Митузас резюмировал свое видение работы Википедии в блоге, а именно в посте о презентации Velocity: «Я думаю, в таком контексте Википедия интересна как пример не совсем удачной работы – крохотный бюджет, смелый подход к инфраструктуре, консервативный метод развития, обман и куча дешевых трюков (кэширование, кэширование и еще раз кэширование)».
Пока в интернете будут существовать такой ресурс как Википедия, мы с уверенностью можем сказать за кем будет закреплена первая позиция результатов поиска в не менее эрудированных Google и Яндекс.
Автор: Osaul