Category Archives: Memcached

NoSQL в MySQL: разгон MySQL до 750 000 запросов в секунду

Yoshinori Matsunobu 20 октября в своем блоге опубликовал интересную (на мой взгляд) статью – компания, в которой он работает разработала и успешно использует MySQL плагин, который позволяет обрабатывать более 750 тысяч запросов на вполне обычном железе. Решение – очень красивое, при этом позволяет использовать как обычные SQL запросы, так и достигать производительности, которая не доступна даже NoSQL решениям. Конечно, результаты тестов впечатляют, но слишком все сладко – возможно, где-то есть и подводные камни.

Архитектура больших проектов: Facebook

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

Хранение PHP сессий в memcached: испытание на production сервере

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

Сессии в memcached с Zend Framework

Столкнулся тут с очень странным багом. У нас в проекте реализовано централизованное хранение сессий. Т.е. разные бекэнды хранят сессии в одном месте. Это позволяет автоматически “узнавать” пользователя, вне зависимости от того с какого фронт-энда пришел запрос.
При выключенном кэше сессии хранятся в БД MySQL, при включенном в Memcached. И вот тут то и начались глюки. У нас есть основной движок на ZF, и утилитка на PHP. Утилитке надо производить авторизацию пользователя, а для этого подключаться к memcache и устанавливать session_save_handler().