Небуферизованные запросы: снижаем потребление памяти WordPress
Пиковое потребление оперативной памяти WordPress можно снизить приблизительно два раза и практически бесплатно. В чём секрет? В использовании правильных функций для работы с базой данных.
Опытные программисты знают, что API MySQL предоставляет два варианта работы с результатом запроса:
- Последовательная обработка результата — при этом не происходит никакой буферизации результата, данные отдаются от сервера клиенту, минуя временные таблицы и буфера. В этом случае обработка результатов может производиться только последовательно.
- Буферирование результата запроса — результат полностью читается во временный буфер, что позволяет осуществлять произвольный доступ к результату.
Сен
2010
DoS для PHP через imap_fetchbody
Как оказалось, если передать функции imap_fetchbody() параметр $secton, длина которого больше 1004 байт, PHP падает по segmentation fault. На некоторых конфигурациях с применением некоторых усилий (подробности, понятное дело, разглашаться не будут) получалось вместе с PHP положить и Apache. Далее »
Авг
2010
Быдлокодеры хреновы :-(
Возился сейчас с расширением Memcache; после очередного изменения кода сервер ушёл в глухую защиту и отказался реагировать на внешние раздражители. Далее »
Автор: Vladimir, опубликовано в: PHP, комментариев: 3Март
2010
Исправление ошибки с поддержкой VERP в PHPMailer
PHPMailer — класс для отправки почты из PHP; используется многими известными приложениями, в том числе и WordPress.
VERP — техника, упрощающая автоматическое определение и удаление email-адресов из списков рассылки, сообщения которым не могут быть доставлены.
Поддержка VERP в PHPMailer хоть и реализована, но не работает. Далее »
Автор: Vladimir, опубликовано в: PHP, комментариев: нетФев
2010
Патч для php-cgi, позволяющий конфигурировать значение listen backlog
По умолчанию значение listen backlog в php-cgi жёстко задано — 128. Это означает, что PHP не сможет обработать более 128 запросов одновременно (точнее, что очередь запросов не сможет превысить данного значения). Я столкнулся с тем, что 128 — это мало.
Для тех, кто столкнулся с данной проблемой, но по каким-либо причинам не хочет/не может поставить php-fpm (в котором backlog конфигурируется), я сделал небольшой патч. Далее »
Автор: Vladimir, опубликовано в: C/C++, PHP, комментариев: 10Янв
2010

Меня зовут Владимир, я программист-фрилансер, специализирующийся на Web-программировании и програмировании под Linux.
По совместительству занимаюсь администрированием LAMP/LNMP-серверов и техническим переводом.





