SSI или PHP Include()?

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

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

Мой вопрос в том, насколько эффективнее, чем быстрее

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

или

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

Ответ 1

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

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

Ответ 2

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

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

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

Ответ 3

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

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

Ответ 4

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

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

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

Вы также должны быть уверены, что следуете другим рекомендациям с высокой масштабируемостью. Используйте CDN для статических ресурсов, оптимизируйте свои скрипты и таблицы стилей и т.д. Получите книги Steve Souders и Theo и George Schlossnagle и прочитайте их на обложке.

Ответ 5

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