Людей, не знающих про социальную сеть “В контакте” становится все меньше. До не давних пор я и сам там был. Впрочем, удаление анкеты не мешает черпать некоторые идеи из данного проекта. Заинтересовавший сегодня вопрос - индексация данных поисковыми системами. На помощь пришел плагин SeoQuake для Мозиллы. Интересным оказалось большое количество страниц в индексе MSN. Впрочем, никаких интересных данных в индексе не нашлось. Заинтересовали только имена серверов, в виде csЧИСЛО.vkontakte.ru, где ЧИСЛО иногда было больше полутора тысяч. И тогда возник вопрос:

Сколько серверов используется для поддержания социальной сети “В контакте”?

Точных данных никто не даст, знакомых участников проекта не нашлось, потому пришлось использовать приближенные методы.

Первое предположение - все сервера имеют имена указанные выше.

Второе предположение – не все имена указанного формата могут быть прописаны в DNS, потому для каждого имени определяем IP адрес.

Третье предположение - могут быть сервера, прописанные в dns, но реально не существующие. Чтобы их исключить - пробуем пинговать каждый сервер

Четвертое предположение - несколько имен может быть завязано на один адрес, потому нужно убирать дублирующиеся адреса.

Далее стал вопрос выбора верхнего предела чисел, подставляемых в шаблон имени сервера. Методом тыка было определено что при именах с числами около двух тысяч выдается все время один адрес, что наводит на мысль что все имена по шаблону, но не имеющие привязки к физическим серверам привзываются к одному из серверов. потому в качестве верхнего предела чисел при переборе имен было взято 2000.

На этом теоретические рассуждения пока заканчиваются. Далее была практика. Была написана программа которая в цикле перебирала имена серверов, определяла его IP адрес и проверяла доступность сервера попыткой пинга. Если сервер отвечал - адрес писался в файл. Осталось в полученном файле удалить дубликаты и посчитать получившееся количество адресов. Тут на помощь пришла консоль линукса

sort iplist.txt | uniq | wc -l

В результате получилось число. 1022. Т.е. 1022 публичных IP адреса связано с живыми серверами контакта. Возможно часть серверов имеет несколько IP. Но с другой стороны - возможно часть backend-ов публичных адресов не имеет (и это кажется даже более вероятным чем несколько IP на сервер). Потому думаю можно цифру использовать как первое приближение количества серверов.

Следующий вопрос - много это или мало. Берем данные из раздела “о сайте”. 700 миллионов хитов в день. При равномерном распределении в пределах суток (чего не будет из-за того что аудитория русскоязычная и спит по большей части вся в одно время =) ), при равномерном распределении между 1022 серверами получаем около 8 страниц в секунду. С учетом объемов баз, прав доступа, динамических фрагментов страницы и пиковых нагрузок - весьма неплохо.

P.S. гугл вывел на комментарий за май 2008-го года, где человек пишет “Сейчас у них около полутора тысяч серверов”. Не знаю откуда данные у него, но цифры одного порядка с полученными в ходе эксперимента.

Можно задаваться вопросами откуда деньги на покупку и обслуживание такого парка серверов. Но это уже совсем другая история =)


Comments

16 Comments so far

  1. fog on Декабрь 26, 2008 06:00

    Читаешь это и думаешь….

  2. Vassily on Декабрь 30, 2008 18:50

    …Большой Брат следит за тобой…

  3. Cruituistumn on Январь 5, 2009 21:44

    Опутеть как интересно, во задвигаете. Класс!

  4. vpk on Январь 22, 2009 19:52

    гг )) норм )) а када появится “совсем другая история =)” ? )))))

  5. BSA on Январь 31, 2009 22:12

    чувствуется творческий подход к теме, респект)

  6. Х@й on Февраль 1, 2009 17:06

    А будет продолжение?

  7. Shedar on Февраль 1, 2009 17:09

    2vpk:
    думаю в феврале =) Но ввиду того что я не инсайдер контакта она будет не столько про контакт, хотя и про него тоже, сколько вцелом про то где же взять деньги на сервера/контентщиков/дизайнеров =)

  8. СОВА on Март 16, 2009 06:49

    Хороший текст, мне понравилось. :) Ваш блог очень интересный!

  9. Gleb on Март 26, 2009 16:37

    ИМХО вопрос разложен по полочкам с ног до головы, человек выжал всё что можно,

  10. Qunik on Апрель 26, 2009 00:38

    тема, как, говорицца, раскрыта полностью))

  11. Зопух on Май 25, 2009 00:25

    За контактом стоят большие люди. Купить и обслуживать 1500 серверов - не проблема.

  12. miklkr on Август 2, 2009 18:29

    А вот интересно где размещены эти сервера? в приделах одного дата-центра или нет?
    судя по сегодняшним событиям (отключено большинство фотографий сети) многие из них находятся вместе…

  13. заяц on Август 17, 2009 22:47

    народ подскажиту кто мажет контакт разблокировать очень надо помогите…

  14. Naigovan on Декабрь 30, 2009 07:28

    Уже 3303 у меня насчиталось -)))

  15. вадим on Июнь 21, 2010 21:02

    страничка заблокирована памагите

  16. Shedar on Июнь 21, 2010 21:23

    Вадим, Вам в службу поддержки скорее всего, куда именно - попробуйте посмотреть по ссылке http://vkontakte.ru/page3078713

Name (обязательно)

Email (обязательно)

Сайт

Speak your mind

  • Интересно, как скоро наши будут перенимать опыт
    6 hours ago, comment
    Наткнулся сегодня на сервис рисования всяческих диаграмм. http://www.gliffy.com/
    На удивление качественно сделано, видно, что люди думали. Но, поскольку надобность в нем возникает от случая к случаю, то 5$/мес платить не охота, все свои рисунки в паблик светить - тоже, до конца триала осталось 30 дней. Кто-нибудь знает другие вменяемые онлайновые рисовалки диаграмм?
    10 hours ago, comment
    17 hours ago, comment
    9:54 AM Sep 07, 2010, comment
    "Isn't it interesting how P2P distributes data while Cloud Computing centralizes it? And they're both said to be the future" (c) Vlad Vacariu
    10:09 PM Sep 03, 2010, comment