Как рассчитать чтение и запись файла PHP-скрипта без его модификации? - PullRequest
0 голосов
/ 01 августа 2011

Я хочу профилировать и оптимизировать свои PHP-скрипты в отношении файлового ввода-вывода. Поэтому сначала необходимо подсчитать, сколько операций ввода-вывода происходит внутри скрипта и всех его включений. Как мне это сделать, не меняя сценарии? Есть ли возможность как-то перегрузить функции, связанные с файлами, и добавить к ним счет? Или расширение хотя бы?

Ответы [ 3 ]

1 голос
/ 01 августа 2011

Используйте vmstat и iostat, чтобы определить, привязаны ли вы к процессору, памяти или входу / выходу. Вы также можете использовать strace для регистрации системных вызовов. Используйте XDebug или xhprof для профилирования вашего приложения PHP.

1 голос
/ 01 августа 2011

Я думаю, что лучшее, что вы получите, это узнать, сколько (и какие) файлов были включены (что также является своего рода файловым вводом / выводом).

http://php.net/manual/en/function.get-included-files.php

Я не думаю, что есть встроенная функция "сколько файлового ввода / вывода выполнила fread / fwrite do", которая позволила бы вам разобраться во всем этом без изменения сценариев или сервера.

0 голосов
/ 02 августа 2011

Итак, сначала необходимо посчитать, сколько операций ввода-вывода происходит внутри скрипта и всех его включений.

Нет необходимости считать, сколько операций ввода-вывода происходитвнутри сценария и его включений.

Необходимо лишь несколько раз приостановить его произвольно и каждый раз проверять стек вызовов.Если один ввод-вывод занимает в два раза больше времени, чем другой, вероятность появления его на каждой паузе в два раза выше.Не имеет значения, находится ли он в вашем скрипте или во включении.Все, что требует времени для оптимизации, будет появляться не раз.

...