Сайты по-быстрому

Не знаю как Вы, но я, кроме этого бложека, имею еще пару-тройку сайтиков различной тематики и направленности. Для своих проектиков не заказывал никогда дизайны, делал все сам начиная от настройки движков, выбора дизайны и наполнение контентом. Продвижение тоже ложилось на мои плечи. В этом свои плюсы (например обретение нового опыта и новых знаний, экономия по деньгам), свои минусы (куча потраченного времени, много проб и ошибок, может даже топорность некоторых работ). Но лучше уж что-то делать, чем ничего не делать. Или я не прав?

  • Движки
  • Языки программирования
  • Дизайн
  • Контент

Движки

В свое время попробовал целую кучу разных движков. Остановился на WordPress, на котором можно реализоваться все что мне надо было. От Joomla меня выворачивает (да простят меня жумлисты), Drupal еще толком не освоил, ибо сложный он (вернее сложнее чем тотже вордпресс). Еще понравился TextPattern своим аскетизмом. Даже вел бложек на нем. Но вот смена дизайна на нем — вещь совершенно не тривиальная, что отталкивает. А так — быстрый двиг, приятный. Иногда что-то тестовое пробую делать на TextPattern’е. Еще один двиг, оставивший у меня приятные воспоминания — MovableType. Движок не только для блога, но и для сайтов, писанный на Perl, поддерживающий мультисайтовость, приятный, быстрый, своеобразный. Но так же столкнулся с проблемами смена дизайна. Вел одно время на нем бложек — все было суперски. Ковырялся еще в LiveStreet— тоже спицифичный движок, заточенный на ведении социальной сети хабрахабного типа. Требуются люди пишущие и активно комментирующие. Недавно создатели LiveStreet объявляли конкурс на создание нового дизайна по-умолчанию.

Языки программирования

На своем пути ковырялся в движках написанных всего на двух языках программирования — Perl и PHP. Писанное на Python или ASP с Rubyпочему-то даже не трогал. Наверное потому, что я в них не разбираюсь совсем. Я и в PHP толком не разбираюсь, но отредактировать неработающий скриптец в силах.

Дизайн

Так как я не очень уж веб-дизайнер, то использую чужие шаблоны, которые либо оствляю неизменными (что редко), либо доделывая под свои нужды (что чаще). Редактировать чужое чаще проще, чем создавать с нуля свое (хотя это справедливо не для всех, поэтому говорю про себя). Касательно меня — это справедливо только вэб-дизайна, потому что «не владею».

Контент

Контент — штука сложная с одной стороны, а с другой приятная. Мне нравится писать. Нравится писать в сто раз больше, когда я владею темой 🙂 Поэтому практически на всех своих вэб-ресурсах я пишу контент самостоятельно. Либо глубокий реврайт — это касается новостей, например. Но иногда приходится заказывать материал на стороне. Такое случается у всех, я думаю. Неправильно тратить свое время на вникание в непрофильные темы, если, конечно же, у Вас нет цели вникнуть в саму тему, расширив свой кругозор. Цена на контент самая разная, как и качество. Причем за большую цену можно нарваться на совершенно некачественные материалы — тут надо держать ухо востро.

Тесты производительности: nginx, cherokee, lighttpd

Закончил тестировать производительность трех вышеперечисленных веб-серверов для раздачи статики. Это часть моих экспериментов по исследованию работы кэширующего распределенного кластера. Ставлю разные веб-сервера, сравниваю настройки, производительность и всякое такое.

Сегодняшний стенд — мой домашний роутер:

CPU: Intel(R) Pentium(R) 4 CPU 2.66GHz (2666.78-MHz 686-class CPU)
real memory = 1073741824 (1024 MB)
D-Link DGE-530T Gigabit Ethernet
FreeBSD hasp.vzletka.net 8.1-STABLE FreeBSD i386

Проверяю достаточно стандартным средством:
mult@multop:~$ ab -c 190 -n 50000 192.168.1.254:80/error404.jpg

Понеслось:
Server Software: lighttpd/1.4.29
Server Hostname: 192.168.1.254
Server Port: 80
Document Path: /error404.jpg
Document Length: 22830 bytes
Concurrency Level: 190
Time taken for tests: 118,479 seconds
Requests per second: 423,896 [#/sec] (mean)
Transfer rate: 9548,873 [Kbytes/sec] received

далее,

Server Software: Cherokee/1.2.2
Server Hostname: 192.168.1.254
Server Port: 81
Document Path: /error404.jpg
Document Length: 22830 bytes
Concurrency Level: 190
Time taken for tests: 120,629 seconds
Requests per second: 415,11 [#/sec] (mean)
Transfer rate: 9336,393 [Kbytes/sec] received

и наконец третий участник:

Server Software: nginx/1.0.8
Server Hostname: 192.168.1.254
Server Port: 82
Document Path: /error404.jpg
Document Length: 22830 bytes
Concurrency Level: 190
Time taken for tests: 121,489 seconds
Requests per second: 412,483 [#/sec] (mean)
Transfer rate: 9282,033 [Kbytes/sec] received

Небольшое замечание: самую большую нагрузку на процессор создал Cherokee. Все три веб-сервера запущены на одной машине. Тесты запускал несколько раз по очереди. Больших различий в результатах небыло.

Надо было бы еще Apache попробовать, но вряд ли бы результаты у него были хорошими, да и прожорливый он очень. К тому же, он не позиционируется как реверс-прокси или кеширующий веб-сервер — поэтому в моем тестировании web-серверов он не учавствовал. Еще не измерял скорость php-скриптов, потому что это было бы скоростью исполнения самого php.

Все три веб-сервера поддерживают кеширование и проксирование с распределением нагрузки между backend’ами. Все три имеют вменяемые конфиги. Может nGinx и показал бы самые высокие результаты, но его надо уметь готовить. А из коробки все вот так как есть. Будут еще интересные результаты — обязательно поделюсь.

Наблюдаем, следим, мониторим

Обязательные действия для каждого человека. У каждого ведь свои объекты для наблюдений — одни следят за курсом валют и погодой, другие приглядывают за положением дел в Ираке и ценами на нефть. Вебмастера следят за доступностью сайтом, сисадмины — за доступностью сервисов. Родители приглядывают за детишками, а если дети школьного возраста — то за их успеваемостью.

Лично я слежу за следующими классами объектов:

  • Серверы с критичными для меня и моих работ сервисами;

Мониторинг, после долгих поисков, проб и ошибок пал на систему мониторинга Munin. Я о ней уже писал раньше. Нравится тем, что устанавливается быстро и просто, работает очевидно. Коллектор настраивается, бд для хранения данных не требует (для некоторых этот пунктик спорный). Рисует графики, есть не просит и вообще работает как часы, что радует и доставляет безмерно.

  • Доступность своих сайтов;

Сайты мониторятся, в основном, Яндекс.Метрикой и Host-Tracker’ом. В первом бесплатно много счетчиков, плюс различная статистика по посещаемости и переходим по сайту. Во втором — замеряется сетевой аптайм, что тоже иногда требуется. Хост-Трекер умеет писать смски о недоступности ресурсов, но дело это платное, хоть и недорогое.

  • Новости по некоторым ключевым словам;

За необходимыми новостями я слежу через Google.News подписавшись на выдачу по RSS. Удобно читать, удобно смотреть старые записи, удобно искать по ним. Хочу написать свою мониторилку, но, чую, работы там непочатый край даже подготовительной. Некоторые смотрят новости через Яндекс.Новости, но им я стараюсь пользоваться не так часто — только по необходимости.

Интересно, а за чем вы следите и что мониторите?

Бесплатные сервисы

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

Исторически сложилось, что крупные интернет-порталы как наши, так и буржуйские, развивались горизонтально. В те времена это было логичным шагом — развиваться вширь, привлекая и удерживая клиентов дополнительными сервисами вроде почты, гороскопов или еще какой лабудой. Опять же — все бесплатное для посетителей и пользователей — таковым только кажется, потому что каждый переход сопровождается показом какого-либо вида рекламного сообщения (будь то баннер, контекстная или иная реклама).

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

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

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

Ничего бесплатного

Скажу банальность, но за все, чем мы пользуемся в сети — мы чем-нибудь платим. Абсолютно за все, начиная с доступа в интернет. Продолжит список поисковая система — любая, хоть яндекс, хоть гугл, хоть нигма — за каждый запрос, каждый просмотр результата выдачи они зарабатывают на нас.

Идем дальше. Кликнули по тому что нам показали — будь то рекламное объявление или результат труда упорного SEO`шника — перешли на какой-то ресурс. Большая часть сайтов-порталов-блогов в интернете сделаны для привлечения прибыли. Явная монетизация или неявная. Работа на личный авторитет автора ресурса или вынуждение посетителя перейти по партнерской ссылкой — все служит для личного обогащения.

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

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

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

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

Доверие к облакам

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

В связи с широким (а уже можно говорить, что облака распрострнены широко) растространением облачных сервисов, велик соблазн использовать их. Плюсов куча, минусов мало. Просто, часто бесплатно, быстро, при наличии быстрого интернета. DropBox, GoogleDocs, бесплатные (или платные) почтовые ящики на публичных серверах.

Что можно размещать в облаках:

Почта

От простяцких сервисов типа mail.ru, до google и яндекс с возможностью подключать свои домены и прочими вкусностями (типа календарей, общих контактов, im и прочая);

Файлы (бекап)

Платные и бесплатные. От DropBox, UbuntuOne до прочих хранилищ типа Wuala и CrashPlan. С разными линейками тарифов;

Фото (галереи)

Пикаса, Я.Фотки, Flikr и прочие (вконтакты, моимиры, одноклассники);

Музыка

Музыка вещь такая, что некоторым уже надоело хранить гигабайты музыки, которую надо постоянно обновлять, места под нее ве время не хватает… Вариантов несколько — on-line радио по интересам, простоплееры, яндекс.музыка и что-то подобное. Искать что-то редкое — вэлкам на торрент-трекеры.

Видео

Неплохой (пока еще) вариант — вконтакте. Многие там и смотрят кино в hd-качестве, ничего не храня на винте. YouTube тоже начал хранить длинные записи — тоже стало удобно.

Рабочий стол

Тоже некоторым товарищам интересные сервисы. Чтобы иметь полный рабочий комплект в одной кучке и с доступом отовсюду, где есть немного интернета. У кого-то это почтовый клиент, IM, документы и офис, а кому-то хватает и Linux с набором сетевых диагностических утилит. Для первой цели у меня выступает домашний комп с включенным доступом по рдп, а для второго, если мой рабочий ноут недоступен, то либо домашний роутер на FreeBSD, либо один из виртуальных серверов у разных провайдеров (полезно проверять доступность ресурсов по-быстрому).

Хостинг

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

Тайм-менеджмент

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

Чем пользуюсь личо я

Хостинг (свой красноярский, пара московских), музыка (проплаченный на полгода простоплеер), почта (яндекс, гугл), рабочий стол (дом, еще пару мест), файлы (UbuntuOne, дропбокс как реферал у друзей). Планирование и всякие заметки стараюсь вести локально, резервно копируя в облако. Фото и видео не выкладываю, потому что нет потребности.

А чем пользуешься ты, уважаемый читатель?

Распределяем нагрузку

Давно меня не отпускает идея потестировать веб системы под нагрузкой. Вот тут я даже спрашивал народ о возможности предоставить стенд для экспериментов, но никто не откликнулся. Потом нахлынуло разное — рабочее и не очень. Больше рабочего, конечно же — виртулизация и просто системное администрирование. Выдалися свободные пол вечера — решил сделать стенд из виртуалок. Не ахти какой, понимаю, стенд, но днамику (общую) проследить очень и очень реально.

Стендик получился простенький и еще в процессе расширения:

  • виртуалка с балансировщиком нагрузки (front-end);
  • 2 виртуалки с back-end’ом;
  • планируется еще виртуалка с базой данных.

Вот такой стендик. Из софта и конфиг «железа»:

  • балансир — FreeBSD, lighttpd, 64mb RAM;
  • узлы — FreeBSD, apache22, php, 128mb RAM;
  • бд — FreeBSD, MySQL 5.1, 128mb RAM.

БД надо будет попробовать разнести на узлы для чтения, на выделенный серв для записи. Master-Slave режим MySQL еще покурить требуется.

Тестирование проводил утилиткой ‘ab’ с ключами ‘ab -n 10000 -c (от 10 до 100) balanser/test.php’.

Результаты

Для себя я понял несколько вещей:

  • Если нагрузка планируется небольшая и сервер достаточно мощный, то быстрых ответов можно достичь и на обычном apache с небольшими донастройками. Производительности хватит.
  • Если нагрузка планируется больше, чем в прошлом варианте — стоит присмотреться к таким вэбсерверам, как nGinx и lighttpd (для меня приятней и удобней последний).
  • Если нагрузка планируется постоянно большая, и требуется наращивание вычислительных мощностей в процессе — то необходима схема с балансировщиком и несколькими узлами. Пусть даже не супер производительные сервера на каждой ноде, но управление нагрузкой упрощается. Ввести еще один узел проще чем перенести ресурс целиком на новый сервер.

Кстати, минимальные время загрузки тестовой странички были при обращении к голому apache. Максимальное время ответа было тоже при обращении к голому апачу. Лайти оптимально уравнивал нагрузку на оба узла ценой небольшой задержки ~10-20ms. Тесты не окончены, но хотелось бы нагрузку сделать менее синтетической, да и стенд по-шустрее.

Сервисы: они нам, а мы им?

Привет, уважаемый читатель блога под моей редакцией. Возник у меня сегодня сегодня такой вопрос, ответ на который нашелся у меня только один. Вопрос очень простой: Какой стартап/сервис придуманный и реализованный в России/СНГ, стал популярным (или его клонировали) на западе? Я вспомнил только chatroulette.com и все, пожалуй. Остальное — придумали там. Все эти поисковики, вконтакте, органайзеры, бесплатные почты впервые появилось у них, а потом уже наши что-то подобное сделали.

Не надо говорить, что интернет у них пояился раньше. Да, это так, но он и у нас уже достаточно давно, для того, чтобы идеи развивались и у нас. Надо заметить, что есть успешные российские компании, которые на мировом рынке действуют вполне «на уровне» — Parallels, Лаборатория Касперского, ABBYY (что пришло на ум сразу). Не забудем еще и про nginx. Но кто из них придумал что-то кардинально новое?

Интернет пейджеры (icq, wlm, jabber), социальные сети (facebook, myspace, orcut), сервисы микроблоггов (twitter, plurk, juick), блог-платформы (live journal, blogspot и т.д.) — все это было позже реализовано в региональных проектах.

Почему не мы? Интузиазм против капитала. Раздолбайство против расчета. Вопросов больше чем ответов.

Надежность: телефон vs. интернет

Многие, если не все пишут про Японию, про трагедию, случившуюся в Стране Восходящего солнца. Но хочу написать не про людей,а про технологии.

Как часто можно заметить из сообщений блоггеров, то связаться проще всего было через интернет, нежели по телефону — не важно, проводной или сотовый. И это не случайно, потому что вышек меньше чем кабелей, которые при высокой плотности населения, окутывают Японию очень плотно.

Кстати, большой отказоустойчивости сетей передачи данных способствует многократно дублирующая кабельная система, проложенная по дну морей-океанов, связывающая с материком и соседями, которая, в свою очередь, рассчитана на эксплуатацию в условиях активности земной коры. Может, конечно, инженеры проектирующие все эти сети передачи данных и не думали, что их детище реально столкнется с 8-9 бальным землетрясением, но то, что уровень трафика во время толчков и сразу после — кардинально не изменился по стране.

Ну и огромное преимущество интернет-структуры перед сотовой связью — последняя не рассчитанна на 100% занятость. А интернеты хоть как-то но будут функционировать.

Купля-продажа в сети

Глядя на всякие интернет-аукционы, вроде красноярского 24au.ru, заметил что некоторые товарищи выставляют часто и много лотов. Тематика сейчас не важна. Вот и закрался у меня такой вопросик — а можно ли жить только тем, что продавать на аукционах товары (по моим наблюдениям, в основном, бывшие в использовании)? И, отвечая сам себе, пришел к выводам, что да, вполне можно. Мне видятся три аспекта при работе на аукционах. Читать далее «Купля-продажа в сети»