Я разработал свой код, чтобы поместить все важные функции в один файл PHP, длина которого теперь составляет 1800 строк.
Я называю это в других файлах PHP - например, процессорами AJAX - с простым "require_once (" codeBank.php ")".
Я обнаружил, что загрузка всех этих функций занимает около 10 секунд, хотя у меня есть только несколько глобальных массивов и куча других функций. Например, основной код процессора AJAX занимает 8 секунд только для простой проверки синтаксиса (операционная функция которого хранится в codeBank.php).
Когда я закомментирую require_once, мое время отклика AJAX увеличивается с 10 секунд до 40 мс, поэтому совершенно очевидно, что PHP пытается что-то сделать с этими 1800 строками функций. Это даже с установленным APC, что удивительно.
Что мне нужно сделать, чтобы скорость моего кода вернулась на уровень ниже 100 мс? Я как-то не получаю выгоду от кеша? Нужно ли разрезать этот отдельный файл банка функций на разные части? Есть ли другие тонкие вещи, которые я мог бы сделать, чтобы испортить мое время отклика?
Или, если не считать всего этого, какие инструменты можно еще глубже понять, какие операции PHP наносят удары по скорости?
==========================
[РЕД.] Разрешено.
==========================
Как многие из вас, добрые люди, заметили, нет логической причины, по которой простое использование библиотеки функций php из 1800 строк может привести к замедлению работы. На самом деле произошло то, что у меня была строка отладки, которая вызывала одну из более длинных функций вызова API. Всякий раз, когда я включал файл PHP, я строил целую структуру данных из удаленных запрашиваемых данных.
Как только я убил эту строку, все вернулось к быстрым 30 мс ответам. Что остается для меня странным, так это то, что require_once () открывает php-файл каждый раз, когда вызывается AJAX-скрипт. Но это я не в форме и забыл, что каждый раз, когда скрипт AJAX завершается, он закрывается, и каждый раз открывается и перекомпилируется.