SSI или PHP Включить ()?

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

Я включу только html-страницу в другую html-страницу, ничего динамического (у меня есть причины, которые я не буду раскрывать для простоты)

Мой вопрос, производительность мудрее, что быстрее

<!--#include virtual="page.htm" -->

или же

<?php include 'page.htm'; ?>

5 ответов

Решение

Самое быстрое в производительности - это хранить шаблоны в другом месте, генерировать полный HTML-код и восстанавливать его на основе изменений в вашем шаблоне.

Если вам действительно нужно сравнение между PHP и SSI, я думаю, что SSI, вероятно, быстрее и важнее: отсутствие PHP значительно облегчает ОЗУ, необходимую для процессов / потоков веб-серверов, что позволяет вам иметь больше потоков / процессов apache для обслуживать запросы.

SSI встроен в Apache, в то время как Apache должен порождать процесс PHP для обработки файлов.php, поэтому я ожидаю, что SSI будет несколько быстрее и легче.

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

Действительно, любая существующая разница в скорости, вероятно, будет незначительной на общей картине.

Возможно, вам стоит взглянуть на HipHop для php, который компилирует PHP в C++. Так как C++ компилируется быстрее. Facebook использует его для снижения нагрузки на свои серверы.

http://wiki.github.com/facebook/hiphop-php/

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

Вам следует собрать несколько примеров файлов и запустить тесты на сервере, на котором вы собираетесь развернуть. Используйте некоторые инструменты тестирования http, такие как ab или siege или httperf или jmeter, чтобы сгенерировать некоторую нагрузку и сравнить два подхода. Это лучший способ получить ответ, подходящий для вашей среды.

Использование PHP с mod_php и кешем кода операции, таким как APC, может быть очень быстрым, потому что он автоматически кеширует файлы с высокими требованиями. Если вы выключите apc.stat для обслуживания сценария PHP ему вообще не придется нажимать на диск (с оговоркой, что это усложняет обновление сценария PHP в работающей системе).

Вам также следует убедиться, что вы следуете другим рекомендациям по высокой масштабируемости. Используйте CDN для статических ресурсов, оптимизируйте свои сценарии и таблицы стилей и т. Д. Получите книги Стива Соудерса и Тео и Джорджа Шлосснагла и прочитайте их от корки до корки.

Я предлагаю вам использовать веб-кеш, такой как Squid или, для чего-то более сложного, Oracle Web Cache.

Другие вопросы по тегам