Темы Разделы Интересы Top 20
 |
 Мониторинг memcached — дело далеко не последней важности. Как на этапе тестирования, так и на этапе сопровождения уже работающего нагруженного ресурса. Средств «из коробки» для этого не так уж и много, а если вы работает с PHP, то зачастую ограничиваетесь средствами memcache (или memcached), а именно
Memcache::getStats()
$memcache = new Memcache;
$memcache->connect('localhost',11211);
print_r($memcache->getStats());
что возвращает типичный набор данных
Array ( [pid] => 25722 [uptime] => 4487286 [time] => 1308323074 [version] => 1.2.2 [pointer_size] => 64 [rusage_user] => 2646.005365 [rusage_system] => 17108.873237 [curr_items] => 37761 [total_items] => 10764857 [bytes] => 140070186 [curr_connections] => 5 [total_connections] => 17360659 [connection_structures] => 31 [cmd_get] => 89154830 [cmd_set] => 10764857 [get_hits] => 83452021 [get_misses] => 5702809 [evictions] => 0 [bytes_read] => 3527860756618 [bytes_written] => 4234517241183 [limit_maxbytes] => 2147483648 [threads] => 1 )
Вроде всё хорошо.
Мы видим, что у нас занято 133,5 Mb из 2 Gb выделенных под memcached и около 37 тыс. ключей.
Hits к misses относиться как 83/5, что тоже не внушает опасений.
Читать дальше → habrahabr.ru »
|
|
Началось публичное бета-тестирование Amazon ElastiCache — нового веб-сервиса, который облегчает развёртывание, управление и масштабирование кэширующих узлов и кластеров в облаке. Сервис повышает производительность веб-приложений за счёт доступа к быстрому кэшу в оперативной памяти, вместо медленных дисковых СУБД, сообщается на офсайте.
Amazon ElastiCache совместим на уровне протокола с Memcached, широко известной системой для кэширования данных в оперативной памяти. Таким образом, весь ваш код, приложения и инструменты, которые сейчас работают в окружении Memcached, могут безболезненно мигрировать на новый сервис.
Читать дальше → habrahabr.ru » | Обычно программисты используют технологии по прямому назначению, но я решил провести эксперимент и попробовать использовать сервер memcached как масштабируемое временное key=value хранилище.
Memcached предназначен для простого кэширования статических данных, потому в нем не предусмотрена система избежания коллизий.
Запись данных
Стандартная ситуация
Предположим, что наше PHP приложение работает на одном сервере, а memcached работает на удаленной машине. Мы без проблем сможем читать и писать в одну и ту же ячейку, потому как приложение не WEB, так что процесс один. Из-за линейности процесса, ему не удастся одновременно записывать разные данные в одну и ту же ячейку.
Два и более процесса
Сегодня нам понадобилось разделить приложение на два сервера и начались проблемы. Возникли коллизии при записи в memcache. Выяснилось, что в 80% случаев приложения пытаются одновременно записать свои данные в одну ячейку. Идеальным решением было бы использование shared memory, но она не масштабируется в отличие о Memcached. В связи с большим объемом кода и предполагаемым временем на переписывание приложений, было принято решение добавить костыль.
Читать дальше → habrahabr.ru » | Идея предельно проста: ребята просканили большой диапазон адресов на открытый порт memcached, написали скрипт для извлечения кеша, и проанализировали полученные данные. В некотором смысле напоминает нашумевшую историю с .svn. Но здесь они пошли дальше: ведь в кэш можно и писать! Только представьте, какие возможности откроются, если разгадать схему кеширования! habrahabr.ru » | Используя наши предыдущие наработки в тестировании производительности memcached на SunFire X2270 (сервера на базе процессоров Intel Xeon (Nehalem)) с OpenSolaris, мы решили запустить те же тесты на том же сервере, но с использованием RHEL5. Мы уже отмечали в посте с первыми результатами тестирРѕвания, что для того чтобы достичь максимально возможной производительности мы использовали сетевые карточки Intel Oplin 10GbE. Как выяснилось, для использования этой карточки под Linux, нам пришлось немного поработать над драйверами и пересобрать ядро. Читаем дальше habrahabr.ru » | Достаточно часто нам приходится хранить данные в memcached или MemcacheDB. Это могут быть относительно простые данные, например, закэшированные выборки из базы данных, а иногда необходимо хранить и обрабатывать более сложные структуры данных, которые обновляются одновременно из нескольких процессов, обеспечивать быстрое чтение данных и т.п. Реализация таких структур данных уже не укладывается в комбинацию команд memcached get/set. В данной статье будут описаны способы хранения некоторых структур данных в memcached с примерами кода и описанием основных идей.
Memcached и MemcacheDB в данной статье рассматриваются вместе, потому что имеют общий интерфейс доступа и логика работы большей части структур данных будет одинаковой, далее будем называть их просто В«memcachedВ». Зачем нам нужно хранить структуры данных в memcached? Чаще всего для распределенного доступа к данным из разРЅых процессов, с разных серверов и т.п. А иногда для решения задачи хранения данных достаточно интерфейса, предоставляемого MemcacheDB, и необходимость в использовании СУБД отпадает.
Иногда проект разрабатывается изначально для нераспределенного случая (работа в рамках одного сервера), однако предполагая будущую необходимость масштабирования, лучше использовать сразу такие алгоритмы и структуры данных, которые могут обеспечить легкое масштабирование. Например, даР¶е если данные будут храниться просто в памяти процесса, но интерфейс к доступа к ним повторяет семантику memcached, то при переходе к распределенной и масштабируемой архитектуре достаточно будет заменить обращения к внутреннему хранилищу на обращения к серверу (или кластеру серверов) memcached.
Читать дальше → habrahabr.ru » | Продолжение статьи про структуры данных в memcached. В этой завершающей части мы рассмотрим еще три структуры данных: лог событий, массив и таблицу.
Читать дальше → habrahabr.ru » | Фейсбук один из самых посещаемых сайтов в интернете. В своей работе он активно использует memcached. Более 800 серверов с суммарной памятью под memcached — 28 Tb.
Разработчики опубликовали свои изменения в коде memcached позволяющие отвечать на 200000 UDP запросов в секунду со средней скоростью ответа 173 микросекунды.
Код в git репозитории http://github.com/fbmarc/facebook-memcached/tree/master habrahabr.ru » |
Добрый день, читатель!
Если второй номер журнала вышел с опозданием, то третий мы постарались выпустить вовремя. Кто пропустил второй выпуск могут наверстать упущенное по этой ссылке.
В этот раз на нашей обложке мы постарались достигнуть ощущения Африки. Желтые, черные, зеленые тона и летящий гепард — все это Африка или то, что мы про нее знаем. Почему гепард? Потому что тема нашего номера memcached — система кэширования, которая призвана помочь работать вашим сайтам так же быстро, кР°к гепард достигает свою добычу.
Темой номера система memcached стала неслучайно. Автор smira постарался и написал обширный материал под обобщенным названием ”Web, кэширование и memcached”, в котором очень подробно расписал, что такое система memcached и как она работает. Только у нас полная авторская версия статьи.
В этом номере вас ждут также статьи на такие новые темы как UML, DSL. А также пара статей на тему CSS, статья от Yarc, который продолжает писать отличные статьи на тему MooTools, перевод статьи на тему WPF и статья про то, как подружить GTK и Visual Studio.
Как вы помните, во втором номере лучшим автором стал Aesma с циклом статей про создание тем для WordPress. В этот раз однозначным победителем становится smira. Оба автора написали обширные материалы, поэтому трудно решить, кому отдать звание лучшего автора октября 2008. И все же мы признаем smira лучшим автором, который написал, по нашему мнению, более сложный и насыщенный материал.
Скачать habradigest#3 октябрь 2008 (1.83 Мб)
Перейти на сайт проекта habradigest.ru
Подписаться на RSS
Читать дальше → habrahabr.ru » | Этим постом хочу открыть небольшую серию постов по материалам доклада на HighLoad++-2008. Впоследствии весь текст будет опубликован в виде одной большой PDF-ки.
Введение
Для начала, о названии серии постов: посты будут и о кэшировании в Web’е (в высоконагруженных Web-проектах), и о применении memcached для кэширования, и о других применениях memcached в Web-проектах. То есть все три составляющие названия в различных комбинациях будут освещены в этой серии постов.
Читать дальше → habrahabr.ru » | Cегодня мы поговорим о компонентах для высокопроизводительной и масштабируемой архитектуре на основе сервера memcached, а именно — распределённой базе для хранения данных MemcacheDB и системы очередей сообщений MemcacheQ.
Сначала рассмотрим, а что у нас есть в распоряжении для создания распределённой инфраструктуры хранения данных для веб-приложения. Ну, первое, что приходит в голову — кластеризация базы данных, это теперь поддерживается во всех распространённых системах, а также различные технологии репликации. Например, самая популярная СУБД для веб-проектов, MySQL поддерживает как репликации так и кластеризацию. Ещё можно обратится к традиционным файловым система и хранить данные в файловой системе, к примеру, Apache Hadoop. Но часто это слишком высокоуровневое решение, обычно же требуется гораздо проще варианты — когда нужно хранить и оперировать просто парами ключ-значение. Если серьёзно посмотреть, такая функциональность позволит покрыть потребности 90% веб-приложений. А если мы прибавим к этому возможность очень и очень быстро оперировать данными, хранить их в виде распредРµлённой многосерверной системе и возможность постоянного хранения, устойчивого к сбоям — получим очень привлекательную платформу.
( Читать дальше ) habrahabr.ru » | Решил провести научное исследование в сторону использования Nginx для прямой выдачи разных информацонных составляющих проекта, хранящихся в Memcached. Выбор пал на главный поток RSS. Вот что получилось.( Читать дальше ) habrahabr.ru » 2008-08-13 22:35 habrahabr.ru / Новости / |
|
| |
|