Руководства особого нет. Правильный путь: вставлять в код временные метки и выполнять его. Ставите одну временную метку в начало кода, другую в середину, третью - в конец. Выполняете код, смотрите между какими двумя временными метками код выполнялся критический промежуток времени. Далее делите выявленный промежуток еще на два-три и смотрите какой из них выполняется долго, и так пока не определите проблемное место кода.
Если в коде идет обращение к mysql - стоит включить mysql-slow-log и смотреть какие запросы выполняются больше, к примеру, секунды.