Сокращение количества включаемых файлов для уменьшения нагрузки на сервер / ускорения работы сайта? - PullRequest
0 голосов
/ 10 апреля 2010

Вы можете уменьшить количество HTTP-запросов для ускорения работы вашего сайта, например изображений спрайтов css. Интересно, ускоряет ли ваш сайт включение или требует уменьшения числа php или снижает нагрузку на сервер? Например, у меня есть index.php с <?php include './file.php'; ?> Если бы вместо этого я скопировал и вставил код из file.php и просто поместил его в index.php, удалив, таким образом, код включения, уменьшит ли это нагрузку на сервер? Это может сделать вещи менее организованными, но если это уменьшит нагрузку на сервер, мне может понадобиться это сделать. Я полагаю, что для сайтов малого и среднего размера разницы не будет, но как насчет сайтов с высоким трафиком?

EDIT: Из-за некоторых обстоятельств он обычно не кэшируется, поэтому я вижу преимущество, если страницы не кэшируются. Я бы сказал, что страница получает в среднем более 10 просмотров в секунду.

Заранее спасибо.

Ответы [ 5 ]

4 голосов
/ 10 апреля 2010

Теоретически да, это ускорит процесс, но на практике разница будет неизмеримой.

Объединение файлов уменьшит объем дисковой активности на сервере: для каждого запроса требуется только один файл, а не два.

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

На занятом сайте файлы будут кэшироваться в памяти, что делает ценность их объединения еще меньше.

2 голосов
/ 31 декабря 2010

Я нашел этот простой, но немного неясный рисунок где-то на форуме:

http://img264.imageshack.us/img264/5795/requestxa8.gif

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

1 голос
/ 10 апреля 2010

Все включения выполняются на сервере - по сути, PHP копирует и вставляет файл для вас. Это действительно не требует большой вычислительной мощности. Если вы хотите уменьшить нагрузку, обратите внимание на минимизацию и объединение файлов JavaScript и CSS.

0 голосов
/ 10 апреля 2010

Причина, по которой существует общая рекомендация по уменьшению количества HTTP-запросов, заключается в типичной задержке, связанной с каждым из них. Удаленный вызов обычно намного медленнее, чем локальный. Если вы не храните включенный PHP-файл на удаленном сервере (а вы, вероятно, нет), вы не увидите практически никакой пользы от встраивания кода. Фактически, вы, вероятно, будете страдать от гораздо более сложной задачи разработки, связанной с обслуживанием нескольких копий содержимого из file.php.

0 голосов
/ 10 апреля 2010

Уменьшение будет слишком маленьким, чтобы быть замеченным.

Было бы разумнее использовать вместо этого кэш кода операции.

http://php.net/manual/en/book.apc.php

...