Пользователь
0,0
рейтинг
11 марта 2012 в 14:24

Разработка → Как я делал самый популярный сайт о выборах из песочницы

Статистика President2012.ru Друзья, я хочу вам рассказать историю развития проекта president2012.ru. Сайт является лидером по тематике выборов президента России, за 3 месяца его посетило около 2 млн. человек, в пике имел до 20 тыс. посетителей онлайн и более 1 млн. хитов в сутки, задействовано было 3 сервера облака.

Интересных моментов в процессе работы над проектом набралось столько, что держать в себе эти знания я не могу, и хочу поделится с вами. Я понимаю, что многое, о чем я сейчас собираюсь рассказать, уже описано качественнее в специализированных разделах, и ничего нового я не открою. Моя задача скорее в том, чтобы через отдельные нюансы передать ту атмосферу, в которой проходила работа над проектом. А так же в миллионный раз с помощью success story показать таким же как я людям, что всё возможно и всё в их руках.

Кому это может быть интересно? Всем, кто так или иначе занимается созданием тематичных веб-сайтов и рассчитывает работать с высоконагруженными проектами.

Надеюсь политический ажиотаж стих достаточно, чтобы читатели смогли оценить мою статью без влияния со стороны своих политических пристрастий.

Буду вести рассказ в хронологическом порядке.

Предыстория


Начиналось всё в феврале 2010 года, когда на нашем местном форуме (живу я в Кемерово) пробежала весть о том, что бывший владелец не продлил домен president2012.ru и он выставлен на аукцион. Не долго думая, я принял участие в аукционе и, о чудо, был единственным покупателем с итоговой ценой 100 рублей!

До апреля 2011 года на домене стояла заглушка в виде списка потенциально возможных кандидатов, которую я лишь базово пропиарил по запросам типа «выборы 2012». В марте 2011 года я заказал разработку своим программистам и дизайнерам (я директор вебстудии и ещё пары IT-шных компаний) и 6 апреля сайт был выпущен «на волю». Основной функционал — страницы кандидатов с их описанием, программами и т.д., а так же рейтинг этих кандидатов по итогам голосования посетителей. Второстепенный контент — агрегируемые по тематике новости, статьи и видео (с обязательным указанием ссылки на источник и соблюдением требований этого источника к копированию материалов). Был привлечен контент-менеджер для агрегации контента и модерирования пользовательских комментариев.

Разогрев


Реакция интернет-пользователей не заставила себя ждать, каждый месяц число посетителей удваивалось, а к августу 2011 года общее число комментариев достигло 2000 и встала проблема спама/флуда/флейма. До августа комментирование было анонимным с капчей. Лишаться такого замечательного источника UGC не хотелось, поэтому для максимального облегчения комментирования для посетителей я выбрал Loginza, которая позволяет упростить работу с API авторизации соцсетей и разных сервисов. Не буду здесь описывать сложности её интеграции в сайт, но даже при минимальном знании программирования это дело всего нескольких часов.

В тот же день число комментариев снизилось в несколько раз, тем более, что комментирование стало не анонимным и за свои слова уже приходилось нести теоретически бОльшую ответственность. Но уже через несколько дней посетители распробовали нововведение и объемы комментирования вернулись. Для меня же упростилась задача модерации, а качество комментариев между тем улучшилось. Конечно, чем ближе подходила дата выборов, тем больше комментаторы выходили за все мыслимые рамки, и пришлось делать уже более гибкие системы модерации, массовое удаление сообщений, массовый бан клонов и т.д.

Голосование


Отдельного описания заслуживает процесс голосования. Сторонники кандидатов использовали все мыслимые способы накрутки голосов: подстановка рефереров, юзерагентов и т.д., они сидели сутками над распознанием капч, использовали прокси-сервера, даже TOR задействовали. В итоге, единственным нетрудозатратным способом хоть как-то ограничить их рвение было выбрано подтверждение голоса посредством СМС. Ведь получить большую массу мобильных номеров намного сложнее, чем поменять IP или зарегистрировать новый аккаунт в соцсетях.

На выбор было два варианта:
  • После нажатия на кнопку «Голосовать», предлагать ввести свой номер телефона и отправлять на него смс с кодом подтверждения, который в свою очередь вводится в соседнее поле. Минус этого варианта — при сохранении скорости голосования посетителями (несколько тысяч голосов в сутки), я бы просто-напросто не справился с бюджетной нагрузкой, т.к. за каждую исходящую СМС пришлось бы платить. Но, тем не менее, рынок сервиса отправки изучил и нашёл два самых дешевых и удобных варианта: smspilot.ru и sms24x7.ru. Оба позволяют отправлять СМС не дороже 30 копеек за штуку и с произвольным именем отправителя, например — именем вашего бренда.
  • Второй вариант — выдавать голосующему уникальный код, который необходимо отправить на короткий СМС-номер для подтверждения своего голоса. Главный минус этого способа — платность отправляемой СМС, что отпугивает многих голосующих. С другой стороны, этот способ не уменьшает ваши бюджеты, а наоборот, позволяет компенсировать часть затрат. Я постарался минимизировать расходы голосующих, выбрав самый дешевый короткий номер со стоимостью СМС около 3 рублей. Плюс провел «разъяснительную» работу на странице голосования, описав причины выбора такого способа, плюс пообещав часть вырученных средств отправить на благотворительность. Сейчас, кстати, выбираю детский дом в своем городе для выполнения этого обещания.

Здесь меня ждали очередные грабли. Первоначально был выбран СМС-сервис A1Pay, но в определенный момент они, видимо, чего-то испугавшись, прикрыли мой сервис, «предупредив» об этом тикетом в своем интерфейсе в пятницу вечером(!), причем никакого уведомления на почту и т.п. Сообщение было таким:

Просьба в срочном порядке снять наши номера с сайта president2012.ru. Если в течение дня номера не будут сняты, мы заблокируем корневой префикс и Ваш аккаунт.

Обнаружил я этот тикет в воскресенье вечером, когда счетчик голосования уже долгое время не изменялся, а сотни людей отправили свои СМС «в никуда», в заблокированный сервис. В «круглосуточную» техподдержку так и не смог дозвониться в течение нескольких часов. Долгой перепиской со «службой безопасности» A1Pay удалось добиться только такого объяснения: «Мы являемся аполитичной компанией и не работаем с подобными ресурсами.»

Мне предстоял подбор нового партнера. В процессе этого подбора я натолкнулся на то, что большинство операторов мобильных платежей представляют собой «шаражки» с отвратительной техподдержкой и отсутствием всяческих гарантий. Так, к примеру, разрекламированный на сёрченджинс Smsbill.ru выдал мне «Сервис не прошел проверку, информация: icq xxxxxx». При обращении в указанную аську, я получил ответ в стиле «А вы получили согласие президентов?» и «Мы не работаем с такими серыми сайтами, как ваш». Человек из «техподдержки» автоматически записал меня в «недостойные». Ну да ладно, нашёл всё-таки оператора, который после раунда переговоров согласился запустить мой сервис — smsdostup.ru. После чего проблем с голосованием не возникало.

Надо сказать, что со вводом СМС-подтверждения, число голосов снизилось в несколько раз, но и качество их выросло на порядок. Качество видно по временному, географическому, номерному распределению. Видно, что голосование начало происходить более равномерно без перекосов и накруток.

Успех и его плоды


А рост между тем продолжался. Любое политическое событие приводило к всплескам посещаемости. Ссылки на сайт в соцсетях периодически приводили к вирусной волне. Яркий пример — волна, которая началась после публикации мной программы кандидата Пеунова Светлана Михайловна. В тот день мой сайт попал в топы dirty.ru, vott.ru, pikabu.ru, onliner.by, nigma.ru, leprosorium.ru, блоги teh-nomad, exler.ru, получил +400 ссылок из твиттера, сотни ссылок из FB, VK, OK. И даже Вести меня процитировали.

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

image
Начиная примерно с декабря 2011 года сайт president2012.ru занял ТОП1 практически по всем запросам, касающимся выборов, как в Яндексе, так и в Гугле. К слову, о конкурентах: на предыдущих выборах 2008 года топовым сайтом был vibori.net, который я в этот раз оставил далеко позади, отдав им лишь пятую часть от возможного трафика. Остальные «конкуренты», к моему удивлению, даже не старались стать первыми, не занимались продвижением, не модернизировали свои сайты под возникающие реалии. Так, многие из них даже не обновили дату предстоящих выборов, когда её перенесли с 11 на 4 марта 2012 года.

Растущий постоянно трафик привёл меня к тому, что в декабре 2011 года максимальный тариф у моего хостера nic.ru перестал удовлетворять требованиям сайта по оперативной памяти, а индивидуальных настроек памяти хостер не предоставляет. Начались периодические падения. Я поставил и настроил ngnix для отдачи статического контента. Это снизило нагрузку в 2 раза, но через несколько дней уже и этого не хватало. Перенёс сайт на облако clodo.ru, выделив 2Гб RAM и 4x2267MHz процессора. До марта 2012 года этого хватило продержаться.

Новые препятствия


23 февраля я получил очередную подножку. Яндекс запустил свой сайт vybory2012.yandex.ru, поставив его первым по всем поисковым запросам, содержащим слово «выборы» и нарушив тем самым свои же правила, которые Яндекс транслирует на вебмастеров. Этим действием они забрали у меня примерно 15% трафика — доля небольшая, но мириться с этим не хотелось. Написал им сообщение в блог, на что через сутки получил удар ещё сильнее под предлогом исправления ошибки. На этот раз они убрали свой сайт из выдачи «широкого» запроса «Выборы», но поставили его в выдачу по намного более частотному множеству запросов со словами «выборы», «кандидаты» и т.д. Сдаваться я не собирался, понимая, что это, возможно, просто самодеятельность отдельных членов команды Яндекса. Я написал жалобу в аккаунты Яндекса в Фейсбуке, ЖЖ, Твиттере, написал письмо в поддержку поиска. И через пару дней справедливость восторжествовала. Яндекс оставил свой сайт первым лишь по очень узким запросам, а по остальным — «подмешал» в выдачу на непервых позициях. К слову, после этого я стал больше уважать Яндекс.

27 февраля для меня неожиданно открылся тот факт, что согласно 19-му федеральному закону о выборах Президента, за 5 дней до голосования запрещена публикация результатов опроса общественного мнения. Передо мной стала дилемма — или нарушать закон, т.к. фактически мое голосование можно было приравнять к такому опросу, либо закрывать существенную часть сайта в те дни, когда собственно эту информацию люди массово и будут искать на моем сайте. И я вывернулся! Остановил обновление рейтинга, пообещав голосующим результаты обновить 5-го марта, а везде на сайте написал, что дата публикации рейтинга кандидатов — 27 февраля. Это полностью согласовывалось с требованиями закона, и сайт мог продолжать спокойно работать.

В экстазе


Итак, подошёл официальный день голосования. К 3 марта трафик вырос до 80тыс человек в сутки. Я начал прогнозировать, какая будет нагрузка 4 марта. График посещаемости сайта vibori.net в 2008 году путем экстраполяции давал мне прогноз в 200тыс. посетителей в день голосования. Тогда я и не знал, что это слабый прогноз и всё будет ещё интереснее.

3 марта я максимально закешировал средставми CMS (MODx) все страницы сайта (кстати, браузерное кэширование у меня было к тому моменту уже давно настроено), увеличил оперативку до 3Гб, а так же вынес статический контент на отдельный сервер и спокойно ушёл спать. Проснувшись в 11 утра (MSK+3) я обнаружил, что серверы уже на пределе и нужно что-то делать. Благо, сайт был на облаке и у меня были широкие возможности для маневров.

Первым делом выделил БД на отдельный сервер. Помогло, но не надолго.

Увеличил оперативку до 8Гб и число ядер процессоров до 8. Ещё час жизни сайта был выигран.

И тут проснулась Москва! Стало страшно, число онлайн-посетителей достигло 6000 и постоянно росло. Настала очередь более тонкой настройки ngnix. Никогда этого не делал, но Хабр спас хорошим мануалом. Увеличил число рабочих процессов до 8 по количеству ядер, число коннектов — до 8тыс, ограничил время соединений до 15 секунд. В сумме изменения настроек ngnix дали прирост в скорости отдачи страниц в 2 раза.

Это было похоже на игру в салочки. Каждая новая порция изменений в сервере давала улучшение производительности и автоматически приносила новую волну посетителей, опять снижая производительность.
Мои переживания в Твиттере
Мои переживания в Твиттере

Далее, принялся за ужесточение кэширования. Самые посещаемые страницы, имеющие редко изменяющийся контент сохранил в виде html-файлов, полностью убрав участие php, и прописал их выдачу в .htaccess. Сайт внутри всё больше отдалялся от начального движка и превращался в закостыленного и закешированного франкештейна. Но такова была цена скоростного принятия решений и скоростной же их реализации.

Параллельно наращивал железные мощности. К концу дня на меня работало 3 сервера по 8 двух-гигагерцовых ядер и 8Гб оперативки: вебсервер, файлсервер, сервер БД.

Потом я обнаружил большую очередь долго исполняемых запросов к БД. Начал оптимизировать SQL для тех страниц, которые ещё не были так жестко закешированы. Некоторые запросы, такие, как подсчет числа прочтений, вообще удалил, чтобы не тратить время на оптимизацию не самого существенного функционала. Вообще, в такие моменты, когда каждая секунда дорога, мозг быстрее соображает, что важнее, а чем можно пренебречь. Одновременно, подтюнинговал MySQL, уменьшил wait_timeout до 10 секунд, увеличил max_connections до 1000. Претензий к разработчикам я не имел, т.к. перед ними не была поставлена задача о высоканагруженном сайте.
Подробная картина

Начало каждого часа сопровождалось резким ростом, связанным, по-видимому, с тем, что открывались/закрывались избирательные участки в очередном часовом поясе и люди шли смотреть на статистику (хотя выводить оперативно по закону я мог только проценты явки). И вот, в момент, когда закрылись участки в главном часовом поясе России — московском — сервер не выдержал и лёг. В тот момент на сайте было онлайн около 20тыс. человек. Звоню в техподдержку Clodo, понимающим и извиняющимся голосом говорю, что сервак пал смертью храбрых, а они мне и отвечают: «Знаем, это по нашей вине (!), в течение 10 минут исправим». Не стал с ними спорить, и через 40 минут сайт снова ожил. Сильно не переживал, т.к. понимал, что и так выполнил и перевыполнил все планы, и ожидал, что сайт упадет намного раньше и на дольший срок.

С момента восстановления активность посетителей пошла на спад и я смог спокойно обновить раздел новостей и видео, а после завершения голосования в Калининграде раскупорил бутылочку красного вина и вместе с женой отпраздновали в своем «предвыборном штабе» окончание этого прекрасного дня. Ощущение было такое, что президентом выбрали меня. В крови бегала смесь адреналина, дофамина и эндорфинов.
Мой предвыборный штаб

Результаты


В следующие дни посещаемость спала намного резче, чем росла, и к празднику остановилась на отметке 7-8 тысяч посетителей в сутки.

Итоговые результаты проекта:


За период активного голосования (3 месяца) сайт посетило около 2млн. человек
Из них около 500 тыс. — за сутки с 8:00 4 марта по 8:00 5 марта (MSK).
За эти же сутки было просмотрено около 1 200 000 страниц.
За эти же сутки исходящего трафика: 0,5 Тб.
Затрачено на разработку и поддержку около 60 000 руб. Из них: 33 000 руб. на разработку, 8 000 руб. на хостинг, 19 000 руб. на контентную и другую поддержку.
Получено от рекламы Google Adsense около 190 000 руб.
Приобретено опыта: бесценно.
Доходы в Гугл Адсенс

Резюме


Выводы, которые я сделал из этого проекта:
  • Событийные проекты могут приносить хороший профит не смотря на их краткость во времени, разовость.
  • Важно активно работать с соцсетями, как с целью стимулирования UGC, так и для роста отдачи от PR и усиления SEO.
  • Важно отслеживать всех своих конкурентов и всегда идти на шаг впереди них в предложении удобных и полезных инструментов пользователям.
  • Важно концентрироваться на определенных деталях своего проекта и под них подстраивать всю рекламную кампанию. Так, у меня концентрация была в рейтинге и процессе комментирования кандидатов. Я не стал создавать широкотематичный политпортал.
  • Если вы прогнозируете рост интереса к вашему проекту — подготовьтесь к этому росту, чтобы не оказаться в ситуации, когда спрос на вашу услугу/товар есть, а вы тупо не можете его удовлетворить из-за нехватки ресурсов.
  • Ну и главное — нужно иметь четкий структурированный план действий по проекту, закрывающий все аспекты его существования и развития, и тогда останется верить в свои силы и всё!

P.S. С нетерпением жду ваших вопросов, отзывов, критики по каждому из аспектов проекта — от идеи до технической реализации.

P.P.S. Администрацию прошу не рассматривать этот пост как политический, если ограничение на политику ещё остается. Я сам человек аполитичный и постарался в тексте обойти все острые углы.
Максим Колпаков @sharkzz
карма
63,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (214)

  • +13
    Сколько событий наметил на ближайшие пару лет? =)
    • +4
      Пока что в процессе формирования списка. Ближайшее — лондонская олимпиада, но на него не факт что успею — в работе над президентом проморгал все сроки. А вообще, событий очень много — спортивные чемпионаты, конкурсы типа евровидения, праздники типа НГ и 8Марта и т.д.
      • +5
        Сейчас все пойдут регистрировать кашерные url ;-)
        • –5
          president2016.ru?
          • +24
            president2018.ru
            • +65
              putin4ever.ru
            • +6
              president2099.ru
              • +4
                putin2099.ru
                putin20xx.ru
                • +2
                  putin20123456789n.ru
                  • 0
                    persident.ru
            • 0
              fars2018.ru
          • 0
            1) ну в РФ выбирают нынче на 6 лет…
            2) да и смысл в 20168 особо не видно. Царей не выбирают в нашей стране.
          • +3
            president2018.ru
      • –1
        Но ведь и олимпиаду и евровидение будут освещать официальные сайты, так же например олимпиаду будут освещать евроспорт и прочие, думаете сможете отбить у них аудиторию?

        Тут вот ниже писали об анонсах фильмов, мне это показалось интересной идеей. Когда то давно была идея сделать сайт с трейлерами и описаниями будущих фильмов.

        Может есть смысл сделать newfilm.ru и типо transformery3.newfilm.ru под каждый фильм)
        • 0
          Разве кинопоиск не решает?
        • +2
          давно уже есть kino-govno.com для такого
        • 0
          А выборы официальные сайты не освещали? Или даже не освящали?

          В успехе (коммерчески относительном, показателей типа чистого RoI нам не осветили, но на первый взгляд достаточно малы, чтобы перекидывать своби ольшие деньги в такой бизнес, даже при условии мсохранения маржи) этого сайта, имхо, «виновата» естественная ссылочная масса по вполне естественным психологическим и политическим причинам. Этот сайт якобы (при всём уважении к его автору — именно якобы) заполнил пустующую нишу независимого объективного обзора (якобы — потому что необъективного, нет доказательств репрезентативности выборки по всем, даже мне, дураку, не сумевшему получить высшее образование, обозначаемым срезам).
        • 0
          Знаете, взять, например, Украину, так лучше уж вообще не освещать Евро 2012, чем освещать так, как это делают официальные сайты.
          2012.tochka.net/26860-euro2012-donetskiy-sayt-k-evro-2012-opozorilsya-perevodom-na-angliyskiy/
        • 0
          Можно, если будете их освещать с более популярной точки зрения, чем офииальная… И если вас не закроют.
  • 0
    Все круто, блин вот только не особо люблю такие краткосрочные проекты, но надо попробовать.
    Спасибо за вдохновение
    • –3
      Судя по всему за такими проектами будущее.
    • +1
      Можете по практиковаться под фильмы предстоящие. Проще выбрать тематику будет.
      • 0
        Да вот уже думаю, в Казахстане выбору уже прошли( Культурных и спортивных ярких событий не так много. Фильмы идея хорошая, спасибо
        • 0
          Только ниша фильмов имеет намного большую конкуренцию. Попробуйте всё-таки начать хотя бы с праздников.
          • 0
            Нужны общественно значимые события, точка зрения по которым может быть далека от официальной. Это нужно, чтобы обеспечить естественную ссылочную массу на точку зрения далекой от официальной. Но, тем не менее, чтобы у каждого она имелась или, хотя бы его интересовала альтернативная.

            Что меня удивило в топике, так это вообще количество людей перешедших на сайт из поисковиков (хотя явно оно не обозначено)

            P.S. Большая просьба к автору осветить количество первичных визитов именно с поисковиков (хотя бы с общеизвестных в рунете за последние лет двадцать :) ), а если будет и количество возвратов вообще будет замечательно.
            • 0
              За период с 1 февраля по 10 марта
              Из поисковых систем — 84,4%
              Прямые заходы — 7,5%
              Отказов: 9,6%
              Число возвратов (более одного визита): 28,2%

              Я думаю, эти цифры ярко характеризуют качество и релевантность аудитории.
  • +5
    Если бы у меня был такой домен, я был бы т-а-а-а-а-к счастлив.
    • +9
      В том то и дело, что роль домена многими завышается. Думаю, при тех же остальных исходных данных домен типа 2012-president.ru и т.п. был бы не намного хуже.
      • +2
        Это точно. Даже контактик в яндексе и гугле ищут. А ведь там всего 2 буквы.
        • 0
          Там целых четыре буквы и точка. Многим далёким от ИТ людям проще через яндекс.
          • 0
            пять букв
          • 0
            Стартовая страница Яндекс. В нём ищем Гугл. В Гугле ищем Ютуб. В Ютубе ищем ролик. Проще? В Яндексе или Гугле набрать поисковый запрос, содержащий адрес сайта, включая www. Проще? Имхо, это идиотизм.

            Эх, прошли времена когда люди играли в тетрис на осциллографе, загружали программы с перфокарт.
            • +1
              >тетрис на осциллографе
              Пришлось гуглить :}
      • 0
        Самое главное, что она завышается поисковиками. Лично проводил эксперименты на доменах третьего уровня (на нейтральных от запросов моих личных доменах второго уровня) — домены типа gkgkjgkgk.examlpe.com имели заметно меньший вес чем домены kozel.example.com по запросу «козёл» при одинаковом содержании (алиасы в терминах Apache).

        P.S. статьи были о высокогорных козлах в целом, но о Лобо в частности.
        • 0
          Так всё и логично. Поисковики конечно же ранжируют выше тот сайт, урл которого содержит искомое слово или хотя бы релевантен ему. И поэтому я сразу привел пример с вариантом, который для поисковиков будет почти идентичен.
  • +2
    А где в доходах сумма полученная с смс-голосования и расходы на сервер?
    • +7
      Не стал указывать СМС-доход, т.к. всё равно собираюсь его потратить на благотворительность. А вообще — около 14 000 руб.
    • +3
      Расписал затраты.
      • +6
        Спасибо большое :) Доход с смс интересен просто как статистика.
  • 0
    Сколько было получено от смс и во сколько обошелся хостинг?
  • +1
    Где хостились, какие характеристики серверов?
    • +2
      Clodo.ru
      Virtual Server
      Характеристики железа не знаю, объемы RAM и процессоров расписал в посте. Ось — Debian-6-64 bits.
      Ничего нестандартного не заказывал, использовал обычные ресурсы облака, и даже платной техподдержки не покупал.
  • +2
    Эх, так и не дождался истории про звонок из ФСБ… :)

    В тему: uebalby.com/index.php/component/acepolls/poll/1-vybory-v-rf-2012.html
    • +1
      Сам долго ждал этого звонка, но как-то всё обошлось =)))
      • +1
        А если бы позвонили? Насколько готовы были идти до конца и, скажем, не корректировать рейтинги?
        • +32
          На этот вопрос нельзя честно ответить пока не позвонят :)
  • +1
    Спасибо за интересный рассказ. Хоть событие и относительно кратковременное, но это и профит и опыт
  • 0
    А до nginx (который вы ставили на статику), что стояло? Apache? Какая версия того и другого?
    • 0
      apache2-2.2.16-6+squeeze4
      nginx-0.7.67-3
      • 0
        У clodo есть Cloud Storage сервис, Вы им не пользовались?
        • 0
          Именно его задействовал для хранения статичных файлов
  • –22
    Сайт — хорошо, а Путин — плохо.
    «Хороший» пример для всех — как можно законы крутить и трактовать как им вздумается.
    Сча ведь можно снова 2 срока, а потом снова с кем-нить «потандемить».
    • –5
      Путину через 18 лет будет 78 лет, вряд ли он снова пойдет в президенты %)
    • –4
      Чем Вам так не угодил Путин? Все его действия законны. И что, если он идёт на 2й срок если народ за него?
      У меня в стране президент уже на посту 20 лет, в стране диктаторство налицо и все терпят…
    • –1
      Сайт — хорошо. А Путин плохо только в том случае, если он выбран в нарушении легитимного закона. В том случае, если мы считаем закон о выборах нашего Президента легитимным, процесс его выбора легитимным в силу его (процесса выбора) соответствия легитимному закону, то заявления вроде: «Путин — плохо» я считаю выпердежом выпендрежом пока большинство граждан России не выскажет своё мнение, что они не согласны со мнением официально принявшего большинства. Если 40+ миллионов человек, выйдущих на митинги заявят, что их мнение было не учтено при очередном определении легитимности будущей власти я к ним присоединился бы даже если бы голосовал за Путина — мне важнее не мое личное мнение, а мнение большинства: если большинство граждан России хочет обещаниям Путина верить, то я незаконно бы попытался эмигрировать куда-нибудь.

      Но согласно официальным данным именно абсолютное меньшинство, а не большинство де-юре наших сограждан за Путина, поэтому я не оставляю надежды, что Путин прислушается к тому, что его политика де-юре не демократическая. Он же юрист, в конце-концов, и, если хороший юрист, должен чувствовать разницу между законами легитимными и нелегитимными, в конце-концов он обязан знать, если уж сдал экзамены по марксизму-ленинизму, что бывает когда верхи не могут, а низы не хотят. Ему, по-моему, стоит задуматься о том, как держать трон Императора Руси Великой кресло Президента Российской Федерации в условиях когда большинство граждан нашей федерации не высказало ему явной поддержки.

      P.S. Это говорит гражданин Российской Федерации, который до последних выборов в депутаты Государственной Думы Федерального Собрания Российской Федерации и выборов Президента Российской Федерации ни разу не сомневался за кого ему голосовать — только за стабильность, только за отсутствие резких скачков. Но этот гражданин Российской Федерации решил в декабре, что стабильность перерастает в стагнацию, а стагнация в упадок — меня этому учили в вузах (именно во множественном числе — два неполных высших, одно техническое, другое экономическое, оба сознательно заваливал на третьем курсе), но, блин, я понял, что моё государство, а, главное, мои родные, подчинены этому же закону. Стагнация — это упадок.

      Я, в силу своего двоякого образа жизни, вижу, что за последние 15 лет жизнь простого работяги не изменилась качественно материально (то, что ему стали доступны смартфоны и прочие планшеты — лишь сервисные удобства, отдельная квартира ему доступна лишь в случае если банк смилуется по своим каким-то закрытым критериям), но они теряют мотивацию работать хорошо, даже в коммерческих фирмах — большую часть времени сидят без работы и жалуются что у нас трубы не лопаются.

      P.P.S. Сорри, как-то кажется, что вышел из рамок треда, топика и хабра. Накипело. Единственное прошу не минусовать карму за это, хотя бы тех, кто хочет видеть покрытыми тестами PHP-код как норму быдлокодерства… Но всё ещё нуждаюсь в примерах небольшого (1000+- строк, чтоб не затягивать цикл статей), но цельного куска быдлокода, который я преобразую на конкретном примере, лишь ради того, чтобы мне не приходилось по 16-30 часов разбираться в коде моих предшественников, как я сейчас сижу и разбираюсь в коде вордпресса… и, кажется, считаю задаваемую мне задачу неразрешимой в его рамках.
      • 0
        Хабр не для политики, но так сложно не скатиться в дебаты, практически до дрожи в пальцах :)
  • НЛО прилетело и опубликовало эту надпись здесь
    • +9
      Из закона «О Государственном флаге Российской Федерации»:
      Допускается использование Государственного флага Российской Федерации, в том числе его изображения, гражданами, общественными объединениями, предприятиями, учреждениями и организациями в иных случаях, если такое использование не является надругательством над Государственным флагом Российской Федерации.
      А в законе о гербе РФ я не нашёл тоже препятствий для себя использовать его.
  • +1
    Отличный рассказ! Спасибо!
  • НЛО прилетело и опубликовало эту надпись здесь
  • –81
    Спасибо, что выбрали нас. Увы, согласно нашим правилам, проекты, связанные с политической агитацией нужно заранее согласовывать с администрацией A1Pay — u.to/mYDQAQ
    • +27
      Не особо-то там агитации, просто голосовалка-обсуждалка. А главное, вы могли бы по-человечески всё сделать, а не кидать клиента без уведомлений на полдороге.
      • –41
        Проносим свои извинения. Постараемся отстроить свою работу, чтобы таких ситуаций не возникало.
        • +4
          Издеваетесь? Проверим вас через 6 лет?
          • –9
            Уже радует, что вы не сомневаетесь в нашем долгожительстве) Если же серьезно, то мы всегда стараемся прислушиваться к критике и исправлять наши ошибки.
    • НЛО прилетело и опубликовало эту надпись здесь
      • –62
        Да, действительно, данный пункт мы добавили сегодня. Ситуация в нашей стране меняется довольно быстро, поэтому не всегда успеваем отмечать оперативно уточнять правила.
        Вам же отказали по данному пункту:

        a1pay.ru/wiki/doku.php?id=start&s%5b%5d=%D0%BE%D1%82%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D1%8C
        • –55
          «Компания «А1Pay» оставляет за собой право отказать в регистрации партнера без объяснения причин.»

          Равно как и пункт: «В случае игнорирования в тикете вопросов со стороны специалистов А1Pay, к партнеру могут применены санкции вплоть до полной блокировки аккаунта.» Вы ответили спустя двое с лишним суток.
          • +27
            Напомнило:

            — Но, мистер Дент, проект был выставлен в городской строительной конторе. Он там лежит уже 9 месяцев.
            — Ну, разумеется. Как только я узнал, я бросился туда, вчера вечером. Не слишком вы старались, чтобы мы узнали об этом строительстве. Меня, во всяком случае, могли бы и предупредить.
            — Но проект можно было посмотреть и в городском совете…
            — Можно посмотреть!? Да мне пришлось лезть в подвал, чтоб его найти!
            — Вся документация обычно там и хранится.
            — И мне пришлось взять с собой фонарь!
            — Наверно, там просто нет света.
            — И лестницы тоже.
            — Но вы все-таки нашли проект, так ведь?
            — Нашел, — сказал Артур. — Конечно, нашел. Я нашел его на дне запертого шкафа в заколоченном сортире, на двери которого висела вывеска «Осторожно, леопард!»

            • 0
              Сортире? Какой-то неправильный перевод :-)
        • НЛО прилетело и опубликовало эту надпись здесь
          • –38
            Выше обозначены пункты, на основе которых было вынесено решение. В т.ч. игнорирование запросов от службы поддержки. Это важно, поскольку в ходе такой переписки и решаются такие индивидуальные вопросы.
            Дословно в переписке с партнером наш специалист ответил: «В сервисе я не нашел услугу, за которую платит абонент, если речь идет о голосовании, то я не нашел заявки на согласование, а в подключении аккаунта был указан иной сервис». О политике не было речи. Так что это уточнение в правилах появилось в ходе нынешней дискуссии.
            • +14
              Ваши потенциальные клиенты, голосующие, правда, пока не рублём, а кармой, уже выдали вам заметную обратную связь. Пока дело не дошло до голосования ногами, не хотите пересмотреть свои правила предоставления сервиса и общения с пользователями?

              И вчитайтесь в коммент всё-таки, он очень информативен.
            • +31
              Выше написано:
              Увы, согласно нашим правилам, проекты, связанные с политической агитацией нужно заранее согласовывать с администрацией A1Pay — u.to/mYDQAQ

              со ссылкой на правила в которых пункта связанного с политической агитацией на момент инцидента не было. Может хватит выкручиваться? противно же… ваши объяснения еще более отвратительны, чем сам поступок
              • +1
                Это точно, уж лучше бы они промолчали, а так — каждым постом закапывают себя все глубже и глубже в… впрочем, о политике ни слова )
          • +5
            А большего и не стоило ждать от контент-провайдера, который работал со всем чем можно и до сих пор биллит алярмы.

            Очень удобно иметь в правилах пункт по которому можно кинуть своего пратнера в любой удобный момент, ради денег или что бы не поиметь потенциальных проблем. В этом весь А1
            • 0
              А можно поподробнее?
              • 0
                про билл алярмов — берем один из множества алярмов, которые в изобилии сыплются на номера московского региона, и смотрим чьи номера

                по поводу их обещаний и прислушиванию к критики — смотрим ветку на серче, а конкретно — их старые темы. там много всего интересного… Например как они могли один сайт раз 10 закрывать и так его и не закрыть в течении месяца и т.д.

                а про «кидок» — выше ситуация описана в красках, в дискуссии между ТС и представителем А1
          • 0
            А ещё грабить карованы
        • +11
          Уточнения не могут иметь обратной силы. Нельзя оправдывать какие-либо действия правилом, появившимся позже.
        • +9
          >Вам же отказали по данному пункту

          Вы отказали по пункту «Администрация без объяснения причин кинула клиента и кинет любого следующего по любому другому выдуманному поводу, если появится минимальный повод наложить в штаны от страха „как бы чего не вышло“».

          Можете убрать клоунаду с «запрещёнными тематиками» и поставить один только этот пункт. Дарю безвозмездно.
    • +23
      Мда, зря вы отметились в данном топике) Лучше бы отмолчались…
      • +1
        Почитайте их старые темы на серче:) Они каждое свое нарушение комментировали, но никаких попыток, которые бы приводили к устранению проблемы, никогда не предпринималось. Только набрав критическую массу жалоб, и то, я уверен, от операторов, которым жаловались абоненты, сервисы, нарушающие их собственные правила, закрывались… и открывались новые с новыми префиксами:) бизнес по русски, что:)
        • 0
          причём здесь русские?!
  • +3
    Я вот думаю, а почему бы просто не сделать nginx + php-cgi (или php-fpm) безо всяких индейцев? Не ужели там такой огромный и экзотический .htaccess что правила нельзя было реализовать средсвами nginx?

    Да, кстате… ни слова не увидел про memcache (либо ему подобное). Вы его не использовали вообще или небыло необходимости?
    • +4
      Да, я теоретически теперь в курсе этих возможностей, и если бы действие продолжилось, однозначно бы разобрался в них. Но я не сисадмин и даже уже почти не программист, я о таком понятии, как ngnix узнал только 3 месяца назад! И в воскресный день положился только на себя и отправился в «бой», не подозревая о том, с каким трафиком придется столкнуться. А призывать опытных людей потом уже было поздно и уж точно, например, нарастить серверные мощности было быстрее.
      • +2
        Просто мне как-то тоже пришлось принять 20000 уникумов за пару часов. В кратце — некий дядя заказал разработку сайта про ночные клубы Майами, Флорида. По завершению разработки дал зайвку на какое-то вечернее шоу на ABCNews (или как-то так канал называется).
        Владельцу проекта назвали аудиторию канала в 70 млн человек, что хотя бы 7 млн в это время просмотрят передачу, ну и как минимум каждый 10й захочет кликнуть на ссылку что в экране :)

        Крутилось всё на Amazon EC2 инстансах (2шт) плюс Амазоновский же балансировщик + Dedicated database instance + dedicated memcache instance.

        В принципе всё живое было :)
    • +1
      php-fpm не ускоряет интернет. Ускоряет nginx на статике и длинных запросах.

      У меня php-fpm стоит правда — но только потому что тестировал вторым, скорость показало сравнимую — и оставил как есть.
      • 0
        Ускорение есть, но, имхо косвенное. Памяти меньше потребляет чем apache+mod_php, а значит свободная пойдёт на кэши и т. п.
        • 0
          У меня был дедик и RAM 8GB. На сервер где памяти < 1GB php-fpm наверно может дать ускорение.
      • 0
        Как? Как php-fpm может ускорить nginx по статике? Там весь вин в памяти и то, что не надо с апачем мучаться.
        • 0
          Читать, наверное, надо «Интернет (ответы на запросы) ускоряет nginx на статике и длинных запросах», а не «php-fpm ускоряет nginx на статике и длинных запросах». :)
        • 0
          Уже ответили выше — имелось виду что не php-ftm ускоряет, а nginx ускоряет. А кто парсает php как то побоку.

          А с апачем там разве мучится придется чтобы айпишки с nginx пробросить на apache. В остальном конфигить nginx c apache-м проще чем nginx c php-fpm.
  • +2
    Очень приятно узнать, что автор из Кемерово и использовал MODx Evolution.

    А какие дальнейшие планы на домен?
    • 0
      Пока в раздумьях. Например, можно сделать зеркало, не привязанное к году и перевести на него весь траст. А уж там — вариантов туча, конечно же, политической тематики.
    • +1
      А я по осени предлагал у нас работать ;)
      • 0
        Вряд ли я уже куда то уйду с фриланса.
        • +2
          Да я понял, у тебя очень удачный расклад =)

          Это же тоже — прекрасно )
  • +3
    Вот это я понимаю история успеха :)
  • +5
    Можно в личку, если не хотите на паблик, но хотелось бы узнать, какой кандидат (за период до валидации голоса) имел наибольший ажиотаж в плане накручивания голосов? Отнеситесь к вопросу аполитично, это обычный интерес.
    • +4
      Есть сомнения?
    • +3
      До начала официальной предвыборной гонки и введения СМС на сайте лидерами накруток были Зюганов, Путин и Навальный. А некоторые роботы вели себя так: накручивали рейтинг всех кандидатов, кроме одного.
      Самые рьяные (не в положительном смысле) комментаторы — «коммунисты».
      После введения СМС накруток практически не было. Были только всплески, связанные с публикациями призывов голосовать за конкретного кандидата на популярных площадках.
  • 0
    Домены с www и без не склеили
    • +1
      Есть такой недочет, да. Но на конечную цель он не повлиял, поисковики корректно отрабатывали.
  • +2
    На выборах оооочень много людей озолотилось. Даже рядовые программисты за 5 минут по 100К успевали заработать, а что творилось в высших эшелонах власти… и подумать страшно :) Но как вы правильно написали, приобретенный опыт — бесценен, так держать )
    • +1
      Про пять минут вы сильно преувеличили, не правда ли?
      • 0
        Я преувеличил про 100К, на самом деле 80-90 :)
        • +2
          Поделитесь с нами рецептами, а еще лучше напишите статью, думаю многим будет интересно почитать.
          • 0
            А чего писать-то? Все просто — звонок от какого-либо дяди/тети с вопросом «запили мне сайтик для полит-агитки ХХХ» делается за день на любой свободной CMSине и за такую работу легко можно взять 100к, потому что денег не считают, а важен только срок. И это только один сценарий работы.
            Еще вариант — звонок «запилите мне спам-бота для голосовалки ХХХ». ОТ 100к и далее, а разворачивание стандартных алгоритмов дело тоже не более суток…
            Вобщем поле для действий и зарабатываний бабла. Только вот дело все в том что идеологически сможешь ли ты взяться за это…
          • 0
            Извините, тут никак не получится статья. И рецепта нет, разве что заводить больше знакомств. В первом комменте правильно написали — все делается по звонку от знакомого дяди.
  • +1
    Отличная статья, читал на одном дыхании!
  • +6
    Sharkzz, спасибо, прочитал взахлеб — отличный рассказ об отличном проекте.
    Пишите еще, не олимпиадой единой в ближайшее время, уверен :)
  • 0
    Отличная статья, спасибо.
    Правда я ожидал в конце прочитать, сколько таки удалось денег заработать :)
    • +3
      А что мешало таки _прочитать_? Там всё написано :)
      • +3
        таки проморгал :)
  • +4
    Вижу отчет о прибыли с сайта, вижу отчет о посещаемости и т.п. а где же отчет о самом главном? Вы пишете на сайте: «Цель этого сайта — построить независимый интернет-рейтинг кандидатов в президенты Российской Федерации». В конечном итоге Ваши рейтинги и рейтинг из официальной статистики сошлись или нет?
    • +3
      Вероятность того, что они сойдутся минимальна. И не из-за происков «кровавой гэбни», а потому что выборка нерепрезентативна. Уже то, что для голосования нужен интернет делает её такой. Плюс платное голосование.
    • +3
      Я же написал: постарался в тексте обойти все острые углы. Думаю, не стоит это здесь обсуждать. Хотя, я бы с удовольствием рассказал и об этих аспектах голосования.
  • 0
    Очень познавательно. Честно говоря, очень удивился, когда читал про то, что голосование пытались накрутить, да и деньги потом отдавали, ведь результаты-то реально ни на что не повлияют.
    • 0
      Самый популярный сайт по запросам о выборах однозначно оказывает влияние на реальные результаты выборов. Кто-то, ознакомившись с результатами, просто не пойдёт голосовать («и без меня выберут» или «всё равно не выберут»), а кто наоборот пойдёт («а вдруг моего голоса не хватит»). Неслучайно в законе есть запрет на оглашения результатов общественного мнения за несколько дней реалтаймовской отслеживание результатов.
      • 0
        По идее это влияние должно быть непредсказуемым и равнонаправленным, разве нет?
        • +1
          Непредсказуемым — да, равнонаправленным — нет. Скорее должно сглаживать пики — поддержка аутсайдеров, ослабление лидера.

          Но это я по своей психологии сужу. Для меня идти голосовать за явного лидера бессмысленно, а вот поддержать отстающего — смысл большой, даже если второго тура явно не выйдет. А для кого-то, может быть, большое значение имеет прикоснуться к лаврам победителя.
  • 0
    Вы молодец, что тут еще можно добавить. Интересная цель + прямые руки и наличие головы на плечах = отличный результат. Респект
  • +1
    Максим, спасибо за то, что поделились опытом.
    Вопрос вот такой: при какой нагрузке вы поняли что вам не хватает тарифа «301» (и… это ведь шаред-хостинг?). Сколько посетителей было в пике на этом тарифе (за сутки и одновременных).
    • 0
      Падения на ник.ру начались при 8-10 тыс уников и 20-25тыс хитов в сутки. В пике — сечас точно не скажу, но около 15тыс посетителей в сутки и 200-300 одновременных. Но это всё очень индивидуально.
      Да, шаред-хостинг, но с очень гибкой настройкой. Мне он нравится, использую его для более мелких сайтов.
      • 0
        Спасибо!
  • +2
    я вот хотел спросить с того момента, как впервые увидел ваш сайт. скажите плз, чем вы руководствовались, когда в robots.txt закрыли только 8 кандидатов из 19, представленных на сайте?

    • +2
      Таким образом я закрывал от поисковиков повторяющийся контент. Даже, можно так сказать, закрывал огрехи программистов. Там образовывалось декартовое произведение страниц комментариев и других страниц кандидата. Поэтому и закрыл только тех кандидатов, у которых было много страниц с комментариями, и, соответственно, огромное количество возможных комбинаций страниц.
      • 0
        спасибо, я так и подумал что это как-то с популярностью связано
  • 0
    Хотел спросить: вот тут данные кандидатов, не участвовавших в выборах обнулены. Это так задумано или глюк, интересно бы было посмотреть на статистику.
    • 0
      Обнулены, чтобы предотвратить спекуляции. Оставлены только рейтинги официальных кандидатов. Старый рейтинг (до введения СМС и обнуления неофициальных кандидатов) есть тут.
  • 0
    В следующий раз не забывайте про мониторы с шириной 2560px, обрубки картинок смотрятся убого.
    • 0
      Спасибо, принял к сведению.
  • –10
    Я бы на вашем месте не стал так категорично заявлять об «истории успеха». Ибо вы и сами должны понимать, что популярность проекта president2012.ru выглядит примерно так:

    image

    Т.е. получился типичный проект «хватай деньги и беги». Деньги дело неплохое, конечно, но по такой «формуле успеха» сейчас много кто работает. И не знаю, хорошо ли это.
    • +10
      Вы статью читали? Человек кажется и не отрицал всего этого.
    • +3
      Выборы президента — фигня, конец света 2012 — вот где хватай деньги и беги
      • +2
        К концу света надо тушенкой затариваться, а не деньгами :)
        • 0
          К концу света вообще нет смысла чем-то затариваться :)
          • 0
            Как это? А кредитами? Кстати, в этом случае он по- любому настанет…
      • 0
        Вообще, если говорить о конце света, то мы его пережили, потому как этот «конец» все рисуют по календарю майя, а в нем не были учтены високосные года, а мы уже уйму времени живем именно по таким календарям. Я сейчас точно не скажу когда, но помню высчитывал, что мы уже пережили «конец света» по календарю майя.
        Так что расстраивайтесь и думайте как будете отдавать кредиты (это был призыв ко всем ;)).
  • 0
    почему в статье в начале «работала команда», а потом сплошное «Я закешировал...», «Я увеличил...», «Я обнаружил...».
    Честно, Вы или все-таки команда?
    • 0
      Где написано, что работала команда? о_О
      Я лишь отдавал на аутсорс некоторые функции, а в целом проект чисто мой личный.
      У меня есть несколько команд, но я их не задействовал в этом проекте как команды.
  • 0
    а smsdostup.ru пробрасывает msisdn?
    если нет — как вы проверяли уникальность смс голосов?
    • 0
      Если я вас правильно понял, то да. Номера телефонов отдают практически все операторы мобильных платежей.
  • +9
    В комментах ни слова о яндексе, вот уж кто больше всех в этой истории опозорился и выставил себя с худшей стороны. И это 100% не случайность или чья-то там оплошность.
    Самый настоящий позор и дискредитация своих алгоритмов.
    • 0
      Хм, вроде бы давно понятно, что некоторые результаты и Яндекс и Гугл «подтасовывает». Это можно видеть на примере Википедии или Кинопоиска. Точно так-же, в поиск добавляется Яндекс.Маркет, Ютуб итд.
      • +1
        Здесь немного другой случай, это не какие-то там sponsored links или «результаты поиска: в картинках, в видео и т.д.».

        Вики и кинопоиск — огромные сайты с невероятным количеством уникального контента, генерируемого пользователями. Википедия всеобъемлющая и открытая и вообще стоит особняком для поисковиков. У кинопоиска попросту нет конкурентов в рунете, несмотря на все его недостатки.
        И количество беклинков на них только растет. Так что там все релевантно, можно не сомневаться.
        • +1
          Судя по всему — кинопоиск и вики были в топе по многим запросам, на них был уникальный и ценный контент, потому в поиске прописали исключение и теперь эти сайты в топе по большинству запросов.

          Вот второй пример: i.fs.ua/img/e/b/eb36856bcd060ada1406e909c8c511f0.png, такая ситуация с момента открытия маркета, если мне не изменяет память. Полагаю, в некоторых других тематиках, по которым у Яндекса есть проекты, это нормально.

          Продвигать одни разделы сайты за счет других, это нормально и правильно. Особенно если речь о поисковике, который ссылается на специализированный аггрегатор по теме.
          • +1
            Ну не знаю, это довольно обширный вопрос.

            Если в гугле набрать «почта», то первый сайт в выдаче будет Яндекс почта (гуглопочта — на третьей странице). Казалось бы, чем gmail не почта? Допустим, это какие-то особые языковые приколы. Но «mail» в гугле даст mail.yahoo.com и только на втором месте gmail. (смотрю по google.com)
            На яндексе соответственно сервисов гугла в выдаче мы не увидим.

            Чтобы убрать налет ангажированности, можно поискать почту в DuckDuckGo. Тут лидером будет вообще mail.ru, яндекс вторым, зато появится также gmail на первой странице. Оказывается, это тоже почта :)

            Так что, не все так 'нормально', если копнуть глубже.

            • 0
              В любом случае, я считаю вполне нормальным продвижение поисковиком своих аггрегаторов в поиске. К конце-концов, они позволяют быстро получить дайджест и перейти за подробностями по тем-же внешним ссылкам. Злить это должно только сеошников, так как трафик получают лучшие ресурсы, вне зависимости от сеошных потуг.
              • 0
                Возможно. Но в нашем случае нет никаких сеошников, есть более-менее оптимизированный проект, уже выстреливший и только набирающий с каждым часом силу.
                Представьте себе на минуту, что это ваш личный проект, выстраданный код, глубокое изучнение конкурентов. Все вроде бы хорошо, как вдруг вас сдвигают вниз, чтобы дать дорогу быстро слепленному на коленке новому сайту. Это так же отвратительно как бюрократия в наших странах.
                Незачем быть лояльным к этим людям.

                Хотя это был мимолетный ивент, так что скоро и помнить никто не будет о «накладочке». А если бы тс вложил сотни тысяч долларов в проект? Если бы это был какой-нибудь групон? Представляете себе, что можно почувстовать когда на первом месте возникнет из ниоткуда groupon.yandex.ru?
                • 0
                  Извините, но разве поисковики что-то обещали по поводу мест какому-то из сайтов? Я с таким сталкивался, но это было ожидаемо;)

                  На поисковом трафе сидят множество посредников, когда гугл или яндекс вводят свой аггрегатор и начинают сами выполнять роль посредников, то первые посредники тоже страдают. Хотя денег вкладывают много. Но они знают на что идут.

                  Любой сервис, особенно платный, особенно на западе, сидит и дрожит, как бы гугл бесплатного конкурента им не выпустил) Яндекс в данном случае, оказался очень великодушным (возможно, потому что качество продукта было слабое, как вы говорите. Я не видел его).
                  • +1
                    Лично для меня это был самый «удивительный» момент в этом топике. Я, как айтишник, далёкий от SEO, подразумеваю, что на мой поисковый запрос придёт наиболее ревалентный ему ответ. Пускай эта ревалентность обусловлена какими-то правилами, которые отдельные личности смогли реверс-инженерить и обусловить этим самым свою позицию в топике. Как потребитель я не доволен их методами, даже если там отсутствует субхективная составляющая. Но я согласен, что это их право в отношениях с поисковой системой…

                    Но когда у людей нет надобности реверс-инженерить миллионном проб и они могут обусловить условия (сорри за косноязычность) заранее неизвестным другим лицам алгоритмом, не говоря об его изменении (а-ля по фразе содержащей слово «выборы» отдавать свой сайт на первом месте или даже в топе)… — это, имхо, как минимум, злоупотреблением своим доверием на рынке. Если я ещё недавно обращался к поиску Яндекса по российски-специфическим запросам, то теперь он для меня только агрегатор общих новостей и цен в российских интернет-магазинах (причём не самый надежный в радиусе 10-15км). А ведь до буквально вчерашнего дня я искал новости в яндексе, а не гугле, думая что он больше нацелен на русский язык.

                    Пока не будет от Яндекса официального опровержения, что он свой сайт выводил искусственно в топ (не важно на какое место), и не просто опровержения, а доказательного а-ля :«на наш сайт было 100500 ссылок по фразе „выборы 2012“, в то время как у сабжа было только 100499, и это вы можете проверить по снэпшоту гугла...» он меня как поисковая система потерял полностью…

                    Да, я больше доверяю выводам отдельных хаброюзеров, чем голословному опровержению их выводов корпораций. Но, подчеркну, речь идёт только о доверии — о моём личном, а главное о доверии мне тем десяткам (25 человек навскидку), которым я сообщу, что Яндекс доверия не стоит в некоторых вопросах. Имею основания надеяться, что хоть по этим (которые я сообщу) запросам они будут искать в более политически лояольном поисковике… Но Яндекс.Маркетом буду пользоваться и дальше… с ручной проверкой 3-4 зарекомендовавших себя магизов, которые там не ни разу не попадались…

                    В общем респект Яндексу, когда они работают на благо народа (читай — независимо от бюджетов и административных, включая их собственный, ресурсов) и, более того, активно борятся с проявлениеми антинародной рекламы/пропоганды… Винить их когда не борятся я не могу — у них бизнес в российской юрисдикции. Я могу только голосовать ногами…
                    • 0
                      Вы понимаете вообще главную цель Яндекса? Разве привести пользователей на какие-то сайты?
                      • –1
                        Лично я понимаю цель. Но, увы, я разочарован способами достижения этих целей. Хотелось бы, чтобы максимизация прибыли совпадала с максимизацией реальной пользы для пользователей.

                        Ещё больше я сожалею, что миллионы (по моей личной экстраполяции) людей не понимают их главной цели, заявленной в их организационно-правовой форме, даже после IPO :(
                        • –1
                          Ок, давайте иначе. Цель — максимально быстро и удобно предоставить пользователю информацию о том, что он ищет.
                          Достаточно благородная цель? И правильно ли в таком случае, показывать информацию пользователю сразу или в специализированном аггрегаторе, вместо перенаправления его на непонятный с точки зрения удобства сайт? (поисковики, напомню, юзабилити оценивать не умеют).
            • 0
              проблема Яндекса не в подтасовках, а в том, что он очень плохо ищет

              я люблю сервисы яндекса, но поиск у них ужасный

              гугль ищет гораздо лучше, даже тесно завязанные на рус.яз. вещи
    • НЛО прилетело и опубликовало эту надпись здесь
      • +2
        Это называется: «замять по-тихому». Репутация для них еще что-то значит, вот и все.
  • 0
    Не думали о услуге того же хостера «Scale Server»? Как раз под такие проекты, делаешь на одном сервере, и по мере необходимости увеличиваешь доступные ресурсы, да и платишь только за реально скушанное время, без запаса.
    • 0
      Изначально поставил на скейл, но были проблемы (не факт, что из-за хостера, может и из-за кривизны моих рук): падения от нагрузки, неочевидность процесса автоматического выделения ресурсов. Переставил на Virtual Server и всё стало намного лучше. Тем более, что при почасовой оплате (на которую я переключился незадолго до дня выборов) можно было самому оперативно выполнять роль такого ручного «скейлера».
      • 0
        Получается, что автоматическое масштабирование, одно из главных преимуществ облака, в Российских облаках пока еще не реально.
        • 0
          Да и в зарубежных вроде тоже «честного» вертикального масштабирования толком нигде нет.
          • 0
            Есть горизонтальное по крайней мере.
            • 0
              Очень часто требует адаптации приложения для нормальной работы и/или очень тонкой настройки балансировщика. В частности для PHP часто критичен в этом плане механизм хранения сессий.
              • 0
                Для сессий единой хранилище можно сделать в чем-то типа memcache
        • 0
          Вполне реально, но, как и всё в IT, требует тонкой настройки для хорошей работы в вашем конкретном случае.

          В частности у clodo можно настраивать какими порциями и при каком свободном объёме наращивать память, прямо в панели управления.

          Настроек по умолчанию, достаточных для среднего случая, иногда не хватает и выделение дополнительной памяти происходит недостаточно быстро относительно аппетитов приложения. Лечится запросом больших кусков при большем объёме свободной памяти.

  • 0
    Очень интересно было почитать. Спасибо за статью!
    Поздравляю Вас с первым и удачным опытом!)
  • 0
    Отличный кейс, респект!
  • +1
    Один момент: не страшно было в Росии хостить? :) Может лучше было на амазоновское облако закинуть, настроить там автоподключение инстансов по нагрузке? Хотя, опыт по оптимизации и стрессоустойчивости, действительно, бесценный :)
    • +2
      А какая разница, где хостить (в плане вывода за юрисдикцию), если домен в зоне .ru? :)
  • +1
    Приобретено опыта: бесценно. Для всего остального есть мастеркард
  • +1
    Это один из немногих проектов, давая ссылку на который в первых строках статьи можно не бояться хабраэффекта.
    Огромное вам спасибо за то, что вы сделали этот проект и еще большее — за то, что рассказали нам об этом — прочитал с огромным удовольствием, несмотря на то, что планировал поработать вместо этого. Ничуть не жалею, спасибо!
  • +1
    В Казани будет Универсиада в 2013 году, это так… к событиям ;)
  • 0
    А можно узнать подробнее про MODx Evolution и HiLoad? Или от него осталась одна админка? :)

    Какие были с ним нюансы?
    Как оптимизировали?
    Использовали Ditto?

    • 0
      Фактически все нюансы я рассказал в посте. Использую jot. Был интересный момент: на одной странице не была настроена пагинация и там было несколько сотен сообщений. Как потом выяснилось, эта страница отжирала бОльшую часть процессора и оперативки, хотя и была не самой посещаемой. После настройки пагинации нагрузка снизилась раза в 3.
      По MODx могу сказать одно: голая CMS никак под нагрузки не тянет, но как и любая другая система в умелых руках может быть допилена для любых нагрузок ;)
      • 0
        Спасибо.
        Вижу проблему прожорливости AjaxSearch вы еще никак не решили?
        Я думаю под один свой немалый проект подключить sphinx для поиска.
        • 0
          Да уж, AjaxSearch — наверное самая неоптимальная штука в модиксе.
  • +1
    Хороший пример, показывающий что отсутствие правильного кода с начала проекта гарантирует секс с железом при увеличении нагрузки.

    Правильно написанный код отдавал бы 1000 запросов в секунду _динамического_ контента, и статики на весь канал — и все могло крутиться даже на нормальном VPS.

    • +1
      С другой стороны, сколько бы времени заняла и сколько бы денег стоила разработка правильного кода?
      • 0
        Это не вопрос затрат времени. У меня все сайты отдают больше 500 запросов в секунду, но времени на них я тратил обычное количество, нужно просто чтобы все кешировалось и не использовались тяжелые фреймворки — за этим один раз нужно проследить и все.

        Вот свежак:

        ab -c 10 -t 10 zeptobars.ru/ru/
        Requests per second: 1622.49 [#/sec] (mean)

        ab -c 10 -t 10 president2012.ru/
        Requests per second: 36.84 [#/sec] (mean)
        • +1
          Организация кешерования больших затрат времени и/или привлечение более высокооплачиваемых разработчиков не предполагает? С фреймворками (не говоря про CMS) тоже как-то сложно — легкость часто подразумевает, что большую часть логики нужно будет писать руками.
          • +1
            Кеширование — это жалкая 1 строчка кода на каждое место…
            • 0
              Можете вкратце (если не вкратце, то развёрнутым постом), объяснить мне как жалкой одной строчкой в изначальной задаче топик-стартера можно было качественно уменьшить нагрузку на сервер, если каждый запрос на просмотр должен инвалидировать кеш количества просмотров? Это заданная нам, разработчикам, бизнес-логика. Функции аналитиков, и, тем более, право делегировать результаты бизнес-анализа в качестве ТЗ разработчикам, без согласования с заказчиком нам никто не делегировал.

              Вырожденную ситуация автора поста, когда он был и заказчиком, и аналитиком, и саппорт-программистом не учитываем. Берём хотя бы полчаса на каждый уровень коммуникаций: заказчик (откуда-то) получает сведения, что сайт очень долго отвечает на запросы и посетители уходят, админы рапортуют ему об узком месте, он просит аналитиков принять решение о целесообразности либо оптимизации, либо лкквидации этого места в принципе. Аналитики оценивают фронт работ что по оптимизации, что по ликвдидации, оценивают что даст максимальную прибыль (или минимальные убытки), и дают ТЗ (или задание на разработку ТЗ по требованиям) разработчикам.

              Лично я, как разработчик, не считаю себя вправе написать ни одной лишней строчки, которую заказчику так или иначе приходится оплачивать. Есть ТЗ, есть приемочные тесты его формализующее до уровня некоторого DSL. Заказчик вправе предъявить претензии как по поводу неправильной формализации ТЗ на DSL (им утвержденных хотя бы в виде ТЗ), так и по поводу не соответствия приложения приемочным тестам. Но не вправе предъявлять что приложение соответствует его утвержденному ему ТЗ и тестам, но не не выдерживает нагрузки в 100 RPS, если им это требование не было формализировано и утверждено. Кстати, у меня голый nginx+php-fpm+acp выдают 120 RPS при ваших параметрах на echo «1» (имхо, минимальный объём для скрипта), при этом не напрягая, не память, ни процессор, ни канал — я даже не могу понять в чём узкое место логически размышляя — скорее всего какое-то узкое место не поддаётся моему контролю в виду очень слабых (в резюме пишу: начальных) навыков администирирования.
              • 0
                Я с вами полностью согласен, если заказчик требует дерьмо, и это зафиксировано в ТЗ — это дерьмо придется писать
              • 0
                По результатам — если вы «из дома» тестируете, и у вас ощутимый пинг до сервера — то именно пинг ограничивает результаты, и нужно параметр -c увеличить до 100 например или запустить тест с сервера «рядом» или вообще с самого сервера (в этом случае nginx не даст слишком далекой от реальности картины, т.е. так делать можно, но осторожно).
              • +1
                Кэш количества просмотров можно в memcache держать и подставлять вообще на уровне nginx) (хотя это лишнее, php вполне справится тут)
    • 0
      Абсолютно с вами согласен. Но как и во многих других случаях в начале никто не предполагал нагрузки. Это бич многих систем.
  • +1
    Имхо, в данном случае дорогостоящий, правильный код не оправдан. Проект очень краткосрочный и гораздо проще и дешевле просто "«передвинуть ползунки» в интерфейсе облачного провайдера на период нагрузки, а потом сдвинуть их обратно.
    Интересно было бы разместить проект в Амазоне и задействовать их фишки по автоматическому масштабированию.
    • +1
      От чего же? В будущем же этот же код можно будет использовать на других подобных (аналогичных) проектах.
  • 0
    Кажется, пора закрыть листинги каталогов… Там можно найти много интересного, в т.ч. и phpinfo():
    president2012.ru/assets/1.php
    • +1
      Спасибо, закрыл. Во время аврала многое что пришлось открыть для ускорения работы.
      • 0
        В очередной раз увидел чужой phpinfo, но и в очередной раз не понимаю в чём конкретная опасность его открытия… Все вечно намекают с одной стороны об опасности открытия, а с другой кричат, что безопасность через сокрытие — это не безопасность… Задолбался метаться между мнениями, когда моя основная задача обеспечить основные сценарии работы пользователей. Но, блин, долбают, извините, во все дыры, не когда из-за ошибки полёты не возможны, а когда из-за ошибки на этих полётах денег не получается зарабатывать…
        • 0
          > не понимаю в чём конкретная опасность его открытия
          ИМХО, опасность в том, что это дополнительная информация о сервере, которая может быть полезна (версия PHP, которая сильно дырявая, например). Чем больше злоумышленник знает о своей жертве, тем ей хуже.

          > безопасность через сокрытие — это не безопасность
          Именно. Если и выложили что-то важное (хотя лучше было бы этого не делать), то нужно это закрывать железно. Через htaccess, например. Не смотря на то, что в 99.9% случаев точный адрес конфиденциальной инфы подобрать не получится.
  • 0
    Макс, молодца! :D
  • 0
    представляю ваш азарт и адреналин
    но думаю опытные люди срубили бы больше бабла за траф
    а я бы наверное и еще меньше
    интересно как повела бы django на такие нагрузки
    • 0
      Ну, обычно я собираю намного больше прибыли с единицы трафика. Просто в этом проекте я старался не переусердствовать с рекламой, а сосредоточиться на бОльшем трафике. Т.е. старался не занизить показатели посещаемости излишней рекламой. Если бы цель была в деньгах, то доход был бы раза в 2 поболее. Деньги — ничто, опыт важнее.
      • 0
        Да, меня тоже удивило — на 500 тисяч взрослого росийського трафика, 1200 баксов дохода на адсенсе. Да на 200 тисячах можно больше получить.

        С хостером и повезло и не повезло. Не повезло — за час офлайна больше 300 доларов потеряли. Повезло — другой мог на такую пиковою нагрузку отключить, и посылать лесом при звонках.
        • 0
          Еще про хостеров — вот для таких проектов и нужен Google App Framefork или что-то похожее облачное.
          • 0
            Да любое облако с автоматическим масштабированием.
        • 0
          Кстати у вас указано 8к затрат на хостинг, это за какое время? за все, или просто за день выборов? а то как то маловато получается для трех серверов то.
          • 0
            За всё время.
            Три сервера были задействованы всего пару дней. Причём с постоянным регулированием параметров под нагрузку (этакий ручной scale), и за эти пару дней съели порядка 1к рублей из тех 8к
  • 0
    тут неаверное даже не в опыте дело, а именно в этой «игре»
    смотрели Wall Street? по такому же прицнипу, деньги зарабатываются не ради денег, а ради игры, процесса, азарта
    • 0
      это тоже важно, да =)
  • +1
    Хорошо, когда хороший домен попадает в хорошие прямые руки.
  • 0
    Да уж, жаль конечно мало заработали, надо было более агрессивную рекламу давать — шанс заработать на власти, выпадает очень редко, жалко что упустили)
  • 0
    Всё-таки добрался до конца топика. Два вопроса непосредственно к автору:

    1. Вы довольны коммерческой стороной проекта (считая не только прямые затраты, но и ваше личное время и нервы, но отбрасывая нематериальные плюсы, включая бесценный опыт и реально заслуженный повод выпить с женой)?

    2. Вы считаете, что ваш проект хоть как-то повлиял на результаты выборов и последствия на гражданскую позицию граждан РФ? (до и после)?

    P.S. Ну и вопрос на засыпку — насколько бы оценили коммерческие шансы аналогичного проекта но полностью на UGC (разве что кроме заявленных самими кандидатами материалов и не вызывающих смонений фактов, которые они опустили)- в общем, без практически любого контент-менеджмента?
    • 0
      1. Если вместе с опытом отбросить то время, которое я потратил на получение этого опыта, но не отбрасывать остальное потраченное время, то это был проект, работавший практически «на фоне», т.е. почти не отнимал мое внимание. И, соответственно, +130тыс. к семейному бюджету я считаю хорошей прибавкой. Плюс, остаточная стоимость сайта порядка 400-600тыс.руб. тоже пополнит кошелек тем или иным способом.

      Если рассматривать ситуацию в коммерческой перспективе, до для построения бизнеса на таких сайтах нужно хотя бы 10 проектов вести с простроенной моделью преемственности.

      2. «Хоть как-то» — повлиял. Другое дело, что это влияние в районе сотых долей процента.

      3. Управление UGC-контентом всё равно нужно в таком проекте. Для статистики: число заблокированных комментариев — практически половина от всех. И здесь бы не прошла саморегуляция аля Хабр. От новостей, статей, видео можно было бы легко отказаться, это снизило бы посещаемость несущественно — процентов на 5 (хотя, и недополучили бы столько же прибыли, сколько потратили на это наполнение).
      • 0
        Очень приятно, что много людей, рядом с которыми я учился становятся «большими», добиваются успехов.
        Большой привет земляку!
  • 0
    Уже пятый год живет сайт uaeuro2012.com, который мы когда-то затеяли. Из них уже года два живет своей жизнью. Завидую вашей целеустремленности, потому что я хоть с ним и навозился, но опыта достаточного не было. Сейчас есть и опыт и знания, но нет времени заняться…
  • 0
    прочитав пост решил перекинуть пару проектов для теста на scale сервер Clodo — очень разочарован, 4 для пытались перенести сайты с одного хостера на другой — не смогли, поддержка или отвечает через 10 мин или в течении 24 часов, причем можно ждать ответа и получить «Мы посмотрели нам нужно попробовать перегрузить» отвечаешь «перегружайте и джешь еще несколько часов». плюнул написал что сам все бастрее сделаю и настрою. Установили панель ISP не работал в ней менеджер файлов написали «можем переустановить ваш сервер снова за 850 руб». в общем очень разочарован. Так же не написал что по дефолту в настройках профиля стоит галочка 5 руб за смс (снимают по 5 рублей при каждом входе в панель clodo)
  • –1
    Хорошая история, только один вопрос: кэширующий прокси типа Varnish поставить была не судьба?
  • 0
    Спасибо, с большим интересом прочитал!
    Топик нужно было добавить и в хаб MODx, ведь это же с помощью MODx Evo сайт выдержал такие нагрузки! Там с большим интересом бы отнеслись к этой информации!
    • 0
      добавил ;)

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.