Записи с тэгом ‘PHP’

XHProf: профилирование PHP

Friday, April 27th, 2012

Черную кошку в темной комнате искать бесполезно, особенно если ее там нет, а черного бультерьера – небезопасно, особенно если он там есть.

Народная мудрость

Если приходится иметь дело с web-приложениями, написанными на php, то надо быть готовым разбираться с тем, почему приложение работает медленно, откуда растут ноги у тормозов, почему растёт использование системных ресурсов при увеличении нагрузки и так далее. Тут очень пригодятся инструменты, позволяющие собрать кое-какую статистику о различных аспектах работы приложения.

Особую прелесть приобретает этот процесс, если ты не являешься автором приложения, и оно представляет для тебя просто большой закрытый чёрный ящик. Тогда профилирование приложения без тщательного исследования кода позволит проделать в чёрном ящике дырочку для нашего любопытного взгляда.

(more…)

Метки: , ,
Категория: Drupal, Nginx, PHP, Web-dev | Нет комментариев »


Drupal: остаёмся без Apache. Nginx + php_fpm

Friday, March 16th, 2012

Конечно, лучший индеец – это мёртвый индеец.

— Харуки Мураками «Охота на овец»

No Apache
Связка вида Apache + nginx всегда была для меня чем-то самим собой разумеющимся. Nginx отлично раздаёт статику, но не имеет поддержки php, perl, ajp и ещё многого нужного. Так бы и продолжалось дальше, но в какой-то момент я всё таки решил выкинуть одно звено из этой цепочки. И слабым звеном был признан Apache, не столько потому, что для работы сайта на Drupal он оказался совсем необязательным, а скорее из желания поэкспериментировать.

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

(more…)

Метки: , ,
Категория: Drupal, Nginx, Web-dev | 2 Комментариев »


Drupal: ajax-автодополнение поиска

Tuesday, January 3rd, 2012


Правда иной раз гнётся, но никогда не ломается и всплывает поверх лжи, как масло — поверх воды.

– Мигель де Сервантес Сааведра

Как-то раз я уже писал про Ajax-автозаполнение (Ajax-autosuggest) своими силами. Там в комментариях было много возмущения из-за того, что никак не была рассмотрена серверная часть решения. Причины, по которым я о ней не писал, ясны: это абсолютное разнообразие возможных серверных решений. Например, мой Perl’овый cgi-скрипт никак не прояснил бы ситуацию человеку, работающему с PHP. А пример с серверной частью в виде модуля для Drupal совсем не поможет адепту Joomla. Но теперь моя совесть будет совсем чиста, так как я всё-таки опишу, как самостоятельно и с наименьшими трудозатратами сделать автодополнение для стандартного поиска в Drupal 7.

(more…)

Метки: , ,
Категория: Drupal | 6 Комментариев »