Search Results for: zend session

Symfony 2.1 Session Handler MongoDB MongoTimestamp Bug

mongodbВ этом посте я расскажу, почему нельзя использовать MongoDbSessionHandler в Symfony 2.1 и о том, к чему это привело. А привело это к довольно долгому поиску и анализу бага, который изрядно подпортил нам нервы и заставит нецензурно ругаться в адрес одного француза.

Интеграция Zend_Cache_Frontend_Page, Nginx и Memcached или 1000 запросов в секунду

Сколько грузится ваш движок? Я имею в виду число врмя генерации скрипта? 0,5 0,6 или может быть аж целую секунду? 🙂 Наш вот срабатывает за 0,8. После последних оптимизаций (см. предыдущие статьи) стал отрабатывать за 0,5. Это примерно 2 запроса в секунду. Хотите раскажу, как довести это число до 1000*?

Сессии в БД и SET NAMES utf8 в Zend Framework

Zend Framework очень хорош, на нём удобно строить большие системы, но уж очень он неповоротлив. У нас в системе есть несколько утилит, который вызываются через AJAX-запрос после загрузки страницы и делают что-нибудь полезное. Например, есть утилита которая подгружает варианты автодополнения при поиске по сайту, еще есть утилита, которая обновляет статусы пользователей (онлайн-офлайн) на странице. Вот с последней сегодня приключилась большая проблема.

Сессии в memcached с Zend Framework

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

Сложный код, плавающие баги и инсайт

Мы три дня ловили баг. Есть такая противная категория ошибок – плавающие баги.  Гейзенбаг (англ. Heisenbug) — термин, используемый в программировании для описания программной ошибки, которая исчезает или меняет свои свойства при попытке её обнаружения. Это слово, в отличие от слова «баг», в русском языке практически не используется. Не полностью идентичный, но достаточно близкий по значению русскоязычный термин — «плавающая ошибка». Примером могут являться ошибки, которые проявляются в окончательном варианте программы (релизе),

Хранение сессий в Memory Storage Engine и переполнение кучи (heap)

Сегодня речь порйдёт об интересных граблях с авторизацией на сайте. Хранение сессий у нас реализовано в БД, с помощью Zend_Session_SaveHandler_DbTable. Это очень удобно, т.к. быстрее чем хранение в виде файлов, и нагляднее. Так вот, сегодня при авторизации вдруг стало выдаваться сообщение: Error: Zend_Session is currently marked as read-only. Также очень часто вылетала вот эта ошибка: Exception thrown without a stack frame in Unknown on line 0

Создаем первое приложение в Ruby on Rails 3

В этой статье я хочу рассказать, как создать простое приложение, работающее с базой данных MySQL в среде Ruby on Rails 3. Можно рассматривать этот материал, как пошаговое руководство для начинающих программистов Rails.

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

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