Search Results for: zend session
Symfony 2.1 Session Handler MongoDB MongoTimestamp Bug
Баг в igbinary 1.1.1 при сериализации сессий в MongoDB Session Handler
В этом посте я расскажу о баге, на посик которого мы потратили три дня. Периодически PHP сыпался SegFault. Очень долго ловили этот баг.
Интеграция 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
Автоинкрементные ключи и хранение сессий в БД
Вчера разбирался с интересным багом с Zend_Session_Storage_DbTable. Хотя в конце выяснилось, что он то тут и не причем 🙂
Создаем первое приложение в Ruby on Rails 3
Хранение PHP сессий в memcached: испытание на production сервере
Сегодня на работе выкатили свежую версию проекта на production-сервер. Посмотрели, потестили под одним юзером, всё нормально. Но потом наштестировщик, обнаружил, что постоянно начали отваливаться сессии, часто происходила подмена сессий, т.е. когда человек логиниться, то в его сессии лежат данные другого пользователя, а именно того, кто залогинился ранее.