
Принцип “Long Polling” (или “Comet“) позволяет сделать возможным установление постоянного соединения клиента с Web приложением и также периодичной отправки данных клиенту в рамках этого соединения (без необходимости клиента постоянно делать HTTP запросы для проверки новых данных). Другими словами, эта модель позволяет реализовать постоянные HTTP соединения для получения данных порциями. Наиболее популярное применение - чаты, твиттеры и другие live-updated потоки - клиент постоянно “слушает” сервер на предмет появления новых сообщений, и как только новые сообщения появляются - они мгновенно доставляются ему.
Сам принцип не несет в себе инноваций в HTTP протоколе, т.к. этот подход реализуем обычными средствами. Проблема заключается в том, что стандартное решение - установка постоянного соединения с обычным Web сервером (а значит и с обслуживающей платформой, например php-бекендом) - крайне ресурсоемкое и не применимо на практике. Другой подход - постоянно опрашивать приложение на предмет появления новых данных является еще более ресурсоемким.
Решением этой проблеммы стали т.н. HTTP-PUSH (или comet) сервера, позволяющие облуживать огромное количество постоянных соединений эффективно расходуя ресурсы. Как они устроены и как применяются на практике?
Читать далее…

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

Системы хранения и отдачи файлов - это отдельная часть в практике построения масштабируемых систем. Сегодня рассмотрим вопросы отдачи медиа (и не только) файлов с помощью Web сервера Nginx. У Вас уже есть система хранения файлов, установлен сервер отдачи.
На что следует обратить внимание для оптимальной настройки Nginx?
Читать далее…

В одной из предыдущих статей о клиентской оптимизации” было упомянуто, что стоит сжимать контент при отдаче его браузеру. Это минимизирует трафик и ускоряет загрузку данных у клиента.
Существуют два стандартных метода сжатия контента Web серверами - Gzip и Deflate. В чем же разница и какой из них выбрать?
Читать далее…
Зачастую на мультимедийных сайтах существует задача выдавать картинки (часто пользовательское фото) в различных размерах (thumbnails). Причем, в большинстве случаев приходится поддерживать несколько размерных версий картинок (например, пользовательское фото vkontakte.ru имеет 3 различные размерные версии).
Один из примеров построения системы отдачи изображений описан в статье “Отдача и ресайзинг фотографий“. Тем не менее, существует несколько альтернативных вариантов. Подробнее об одном из них в этой статье.
Читать далее…
Nginx - отличный и высокопроизводительный Web сервер. В стандартной конфигурации он может работать при достаточно больших нагрузках. Тем не менее, эффективность его работы можно повысить, подкорректировав некоторые настройки.
Ищите файл nginx.conf на своем сервере и открывайте его…
Читать далее…
Nginx - это легкий и высокопроизводительный Web сервер. Nginx является популярным решением для высоконагруженных систем, например:
Wordpress.com, FriendsForSale (Приложение Facebook), fastmail.fm.
Кроме этого, по словам создателя, около 20% всех русских виртуальных серверов работали на основе nginx по состоянию на март 2007 года.
Читать далее…
Задача - построить масштабируемую систему отдачи фотографий и их уменьшеных версий (замбнейлов, thumbnails, отресайзеных фоток…). Естественно все достаточно просто, когда нагрузки на эту подсистему низки, и решение впринципе не играет роли. Но когда у Вас по 20 картинок на страницу и несколько миллионов просмотров страниц в день?
Есть несколько вариантов решения данной задачи. И заключаются они, как в использовании технологий, так и построении архитектуры. Есть даже платные сервисные решения (удаленный хостинг и отдача изображений), но их мы рассматривать в рамках данной статьи не будем.
Читать далее…
Комментарии