SymLinks против PHP включает (производительность)

Что из этих 2 проще / быстрее для сервера Linux с Apache для обработки?

А) Симлинк, указывающий на файл php:

file-sym.php ---> file-orig.php

Б) PHP-файл (file-inc.php) включая другой файл PHP (file-orig.php) вот так:

Содержимое файла-inc.php

<?php 
    include('file-orig.php'); 
?>

Любопытно, если кто-нибудь сделал какие-либо тесты!

2 ответа

Решение

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

A)

  1. чтение файла (на ext2+ символические ссылки включены в индекс, следовательно, только один поиск)
  2. читать другой файл
  3. выполнить php

B)

  1. читать файл
  2. выполнить php
  3. читать другой файл
  4. выполнить php

Я полагаю, что вариант include() хорош для пользователей Windows, поскольку они не могут иметь символические ссылки в своих системах.

Многие администраторы отключают символические ссылки apache по соображениям безопасности и производительности.

В целях повышения производительности просмотрите эту страницу по настройке Apache: http://httpd.apache.org/docs/2.2/misc/perf-tuning.html

Где бы в вашем URL-пространстве у вас не было параметров FollowSymLinks, или у вас есть параметры SymLinksIfOwnerMatch Apache должен будет выполнить дополнительные системные вызовы, чтобы проверить символические ссылки. Один дополнительный вызов на компонент имени файла. Например, если у вас было:

 <Directory />
 DocumentRoot /www/htdocs 
 Options SymLinksIfOwnerMatch
 </Directory>

и делается запрос на URI /index.html. Затем Apache выполнит lstat(2) на /www, /www/htdocs и /www/htdocs/index.html. Результаты этих lstats никогда не кэшируются, поэтому они будут появляться при каждом отдельном запросе.

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

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