Connect.ua - история роста

10 Декабрь 2009

connectua_logo

Connect.ua - это первый украинский социальный сервис. За два года проект вырос в достаточно крупный, а следовательно имеет свою собственную историю масштабирования и роста.

Во время роста мы перепробовали большое количество технологий и подходов, которыми я и хочу поделиться в этой статье.
Читать далее…

Google Bookmarks Digg I.ua Ru-marks Ruspace Zakladok.net Reddit delicious Technorati Yahoo My Web News2.ru БобрДобр.ru Memori.ru rucity.com

Google analytics - отслеживание скорости загрузки страниц

8 Декабрь 2009

google-analytics-logo

Google analytics имеет расширенные возможности, которые далеко не ограничиваются подсчетом количества просмотров страниц Web сайтов. В GA есть возможность собирать статистику пользовательских событий. На основе этой статистики можно собирать практически любую информацию о пользователях и их действиях.

Рассмотрим, как использовать Google Analytics, чтобы отслеживать скорость загрузки страниц Вашего Web сайта у пользователей.
Читать далее…

Google Bookmarks Digg I.ua Ru-marks Ruspace Zakladok.net Reddit delicious Technorati Yahoo My Web News2.ru БобрДобр.ru Memori.ru rucity.com

Асинхронность с помощью fastcgi_finish_request()

6 Декабрь 2009

php-fastcgi

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

Главный критерий оптимизации для клиента - это скорость ответа (т.е. время, за которое Web сервер отвечает на запрос). Если не брать во внимание клиентскую оптимизацию, есть ряд практик, позволяющих быстрее генерировать ответ клиенту (по сути без оптимизации внутренностей).
Читать далее…

Google Bookmarks Digg I.ua Ru-marks Ruspace Zakladok.net Reddit delicious Technorati Yahoo My Web News2.ru БобрДобр.ru Memori.ru rucity.com

Twitter.com - архитектура и масштабирование

3 Декабрь 2009

twitter-bird-logo

В этой статье поговорим об одном из самых шумных и растущих проектов - Twitter.com (далее - Твиттер).

Разработка и развитие этого проекта совпадает с классической схемой удачного стартапа. Стартовал проект с простенького прототипа, написаного на скоркую руку на платформе Ruby-on-Rails. После этого в проекте было сделано огромное количество изменений в архитектурном и техническом плане. Твиттер не раз сталкивался и преодолевал проблемы быстрого роста нагрузки.

Разработчики Твиттера делятся своим опытом.

Читать далее…

Google Bookmarks Digg I.ua Ru-marks Ruspace Zakladok.net Reddit delicious Technorati Yahoo My Web News2.ru БобрДобр.ru Memori.ru rucity.com

Кеширование тяжелых запросов (на примере memcache)

2 Декабрь 2009

memcached_banner75

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

Читать далее…

Google Bookmarks Digg I.ua Ru-marks Ruspace Zakladok.net Reddit delicious Technorati Yahoo My Web News2.ru БобрДобр.ru Memori.ru rucity.com

Sphinxsearch - объединение индексов (index merging)

30 Ноябрь 2009

sphinx search logo

В сфинксе (sphinx-search) существует очень хорошее решение для оптимизации процесса индексации.

Суть решения рассмотрена в статье “Дельта индекс в Sphinx“. Дельта индексы существенно снижают ресурсоемкость постоянной переиндексации, позволяя делать ее чаще и иметь более актуальные данные в результатах поиска.

Использование дельта индексов тем не менее требует периодичного обновления основного индекса, чтобы обновить изменившиеся и выбросить удаленные сущности. Да и сам по себе дельта индекс растет со временем, требуя все больше ресурсов для переиндексации (что делает его неэффективным).

Самое простое решение этой задачи - полная переиндексация в непиковые часы (или дни). Это не самый оптимальный подход, т.к. полная переиндексация может занимать часы, а иногда и дни. Существует другое решение для обновления основного индекса, которое может сэкономить множество ресурсов - объединение индексов (index merging).
Читать далее…

Google Bookmarks Digg I.ua Ru-marks Ruspace Zakladok.net Reddit delicious Technorati Yahoo My Web News2.ru БобрДобр.ru Memori.ru rucity.com

check-unused-keys - проверка неиспользуемых индексов в MySQL

26 Ноябрь 2009

check-unused-keys - это PERL утилита, которая выводит статистику о неиспользуемых индексах (и таблиц) в MySQL. Утилита собирает информацию, основываясь на патче user_stats (от Google + Percona). Патч пользовательской статистики добавляет несколько таблиц в БД INFORMATION_SCHEMA, в том числе таблицу INDEX_STATISTICS. Она содержит данные по использованию того или иного индекса.

Читать далее…

Google Bookmarks Digg I.ua Ru-marks Ruspace Zakladok.net Reddit delicious Technorati Yahoo My Web News2.ru БобрДобр.ru Memori.ru rucity.com
Author: Den Golotyuk Categories: Технологии Tags: ,

Nginx Log Analyzer

23 Ноябрь 2009

Nginx Log Analyzer - небольшая утилита для анализа логов nginx. Полезный инструмент для обнаружения слабых (а точнее медленных) мест Вашей Web системы, если Вы пользуетесь этим популярным Web-сервером. Использование этой утилиты полезно для оценочного отлавливания медленных скриптов (и не только скриптов).

Читать далее…

Google Bookmarks Digg I.ua Ru-marks Ruspace Zakladok.net Reddit delicious Technorati Yahoo My Web News2.ru БобрДобр.ru Memori.ru rucity.com

Масштабирование в Web - опыт Ebay

20 Ноябрь 2009

ebay - масштабирование, архитектура

Ebay - один из самых больших интернет проектов сегодня во всех смыслах, в том числе и по техническим показателям. Рэнди Шуп, архитектор проекта, делится опытом в вопросах масштабирования. Он подготовил отличную презентацию, в которой касается не только практических вопросов, но и общих принципов “того, как нужно думать при построении крупных масштабируемых систем”.

Читать далее…

Google Bookmarks Digg I.ua Ru-marks Ruspace Zakladok.net Reddit delicious Technorati Yahoo My Web News2.ru БобрДобр.ru Memori.ru rucity.com

Memcached - настройка под малые объекты

18 Ноябрь 2009

логотип memcached

Чаще всего Memcache используется для хранения малых объектов (в больших количествах). По умолчанию, memcache не оптимально настроен именно на такое его использование. Поэтому, поговорим о том, как можно его подстроить для получения большей эффективности работы.

Читать далее…

Google Bookmarks Digg I.ua Ru-marks Ruspace Zakladok.net Reddit delicious Technorati Yahoo My Web News2.ru БобрДобр.ru Memori.ru rucity.com