parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

он должен не "умирать", а заканчивать работать

Misha v.3 20.05.2011 06:27

возможно код написан неоптимальным образом и работы ему с течением времени сильно прибавилось (например появилось много новых данных в БД).

в первую очередь надо понять, на каких страницах возникает проблема. для этого можно писать в лог файл что-то уникальное для запроса (^math:uuid[]) в начале работы (/auto.p/@auto[]) + в конце работы (/auto.p/@postprocess[]).
спустя какое-то время, проанализировав этот лог, вы сможете понять, какие процессы начали работать, но не закончили. (чтобы не ковыряться в больших логах можно то-же самое организовать в БД: в начале сессии пишите в неё UID+URI+время, в конце -- удаляете запись по UID. то, что останется в БД -- незавершившиеся процессы, их-то URI вам и нужны).

ещё вариант анализа: использовать Erusage.p (см. примеры). правда этот вариант не поможет найти зависающие процессы, но он покажет, если с сайтом что-то глобально не в порядке. в лог будет писаться время работы страниц и используемая память. можно поставить "пороги", чтобы в лог попадали только проблемные страницы.

ещё надо выяснить: не менял-ли чего хостер. а то мало-ли, всякое бывает.

P.S. версия 3.4.0 более оптимально использует память и несколько быстрее, однако в ней есть некоторое количество обратно-несовместимых изменений, т.е. почитайте новости и посмотрите, может вам для обновления необходимо что-то править в коде.