Увеличивает ли php время загрузки страницы? - PullRequest
1 голос
/ 07 августа 2011

Я использовал php на своем сайте , чтобы он мог отображать несколько языков.Я заметил, что размер html-файлов уменьшился, потому что большая часть текста была перемещена в новый большой php-файл, который содержит весь «идиоматический» текст на всех доступных языках (только два в моем случае).

Моя проблемаis: Ранее HTML-страница была загружена только с необходимым текстом.Теперь загружается меньшая html-страница, но всегда включается большой php-файл, независимо от того, использует ли html больше или меньше его строк.

Вопросы:

  1. Когда включен php-файл(include_once(file.php); или require_once(file.php);) что происходит?Содержимое file.php копируется в html?Используется ли это просто для того, чтобы сказать языковому процессору: «Если вам нужно разрешить имя, вы можете посмотреть на file.php»?
  2. Что более эффективно (по скорости);иметь один большой php с каждым языком каждой HTML-страницы внутри; или чтобы иметь один php-файл на html-страницу только с кодом, необходимым для этой страницы?
  3. Если php должен быть включен прямо перед использованием, или должен бытьвообще включить в верхней части страницы, которая получает большую часть php, который в конечном итоге будет использоваться вдоль html-страницы?
  4. Наконец, php увеличивает время загрузки страницы?

PS: Кто-нибудь пробовал PHP Speedy ?Это действительно работает?Есть ли проблемы (совместимость)?


Я обнаружил:

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

Ответы [ 4 ]

4 голосов
/ 07 августа 2011

1) Каждый оператор include / require заменяется содержимым включенного / обязательного файла.Содержимое самого включенного файла становится частью исполняемого скрипта, однако, если он станет частью HTML-ответа, это зависит от самого содержимого.

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

3) На самом деле это не такнезависимо от того, где вы включаете свой код.Из соображений чистой организации полезно включать все элементы в самом начале сценария, однако иногда это невозможно, что означает, что вы часто будете видеть код, включенный в функции и т. Д.

4) Существует некоторая задержкасвязан с синтаксическим анализом PHP-файлов по сравнению с чистыми HTML-файлами, поскольку этот процесс включает в себя «обратную передачу» к самому расширению веб-сервера, однако из-за внутренних механизмов кэширования и т. д. эту задержку очень трудно определить, а точнее, практически невозможно доказать статистически.

РЕДАКТИРОВАТЬ: Если вас беспокоит производительность вашего веб-сайта, вам стоит начать с некоторых расширений Google Chrome, таких как Page Speed ​​ и Speed ​​Tracer .Они помогут вам точно определить обычные проблемы, которые могут снизить производительность вашего веб-сайта.

Для серверной стороны всегда полезно использовать профилировщики кода для поиска потенциальных скачков производительности, таких как большое количество вызовов функций и т. Д.можно использовать xDebug PHP отладчик , который поставляется с отличным профилировщиком и WebGrind для анализа самой производительности.

2 голосов
/ 07 августа 2011

Ранее HTML-страница была загружена только с необходимым текстом.Теперь загружается меньшая html-страница, но всегда включается большой php-файл, независимо от того, использует ли html больше или меньше его строк.

Мне не нравится этот подход.Зачем загружать ненужные вещи?Кроме того, по мере расширения вашего сайта он может стать очень раздутым файлом.

Существуют и другие способы, например:

1) Извлечение текста из базы данных.

2) Хранение текстав отдельных файлах в зависимости от языка.Это вы легко можете сделать, даже если вы новичок в php.И это должно быть быстрее, чем ваше текущее решение.

По вашим вопросам:

When a php file is included (include_once(file.php); or

require_once (file.php);) что происходит?Содержимое файла file.php копируется в HTML?Используется ли он просто для того, чтобы сказать языковому процессору: «Если вам нужно разрешить имя, вы можете посмотреть на file.php»?

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

Это очень широкий вопрос для более подробного ответа, ознакомьтесь с литературой.

Should a php be included right before being used, or should be a

общее включение вверхняя часть страницы, которая получает большую часть php, которая в конечном итоге будет использоваться на html-странице?

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

Finally, does php increase a page loading time?

В зависимости от ситуации, вам придется измерить себя.Но это не причина держаться подальше от php.

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

Да, когда вы используете PHP, это занимает больше времени для запросов, но меньшие запросы совсем не занимают много времени.разница не очень заметна от PHP к HTML.

Когда вы включаете что-то, PHP анализирует это, как если бы это был файл php (и для этого требуется загрузка файла с жесткого диска для каждого включения).

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

Все зависит.В порядке,

  1. Нет.Когда вы говорите include, PHP делает ВСЕ в file.php, а затем продолжает тот, в котором было include.
  2. Это зависит.Я думаю, что настройка 1 страницы / языка будет немного медленнее.
  3. Нет никакой разницы.Я обычно ставлю их сверху, потому что все в одном месте.
  4. Возможно, но я так не думаю.

И нет, PHP Speedy отвечает засведение и объединение ваших JavaScript и CSS.Сокращение означает это:

div#content {
    color: #000;
}

становится таким:

div#content{color:#000;}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...