PHP: включение страницы из глубоко вложенной иерархии каталогов - проблема с производительностью - PullRequest
1 голос
/ 09 сентября 2011

Предположим, я собираюсь включить некоторую страницу из глубоко вложенной иерархии каталогов:

require '/path/to/project/views/forms/member/login/submit.php'

Из курса операционной системы я узнал, что: каждый раз, когда мы хотим получить доступ к файлу или выполнить поиск в нем:inode (в системах Unix) каждого каталога пути считывается, чтобы найти файл.Таким образом, это также повлияет на производительность из-за такого включения?

Извините, если мне не удалось прояснить ситуацию.

Ответы [ 4 ]

2 голосов
/ 09 сентября 2011

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

2 голосов
/ 09 сентября 2011

Нет. Что касается проблем с производительностью, то этот вопрос достаточно тривиален, чтобы его игнорировать.

1 голос
/ 09 сентября 2011

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

Даже тогда, удар очень маленький. Учтите, что Apache должен выполнять точно такой же тип операций для КАЖДОГО попадания на сервер, а также искать / load + parse файлы .htaccess и еще много чего.

0 голосов
/ 11 сентября 2011

Замечательно, что вы пытаетесь применить то, что вы изучили в курсе по операционной системе, к веб-приложению, но чаще всего это не будет полезным.Уровни, которые ОС считает «снижением производительности» по сравнению с приложением, общающимся с пользователем по сети, вполне вероятно, что использование базы данных существенно отличается.В операционной системе эталонный подсчет количества микросекунд является нормой, веб-приложение, вероятно, будет действительно обеспокоено диапазоном от миллисекунд до десяти миллисекунд.Сбросить пару десятков микросекунд даже через интернет невозможно измерить.И да, я знаю, что xhprof отображает микросекунды, но это ничего не меняет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...