FollowSymLinks、SymLinksIfOwnerMatchの設定がApacheのパフォーマンスに与える影響について確認しました。
下記資料を参考にしました。
Apache Performance Tuning
※目次をクリックすると目次の下部にコンテンツが表示されます。
- 1.FollowSymLinks、SymLinksIfOwnerMatchの概要
- 2.SymLinksIfOwnerMatchとパフォーマンス
- 3.SymLinksIfOwnerMatchを使う場合の推奨設定
- 4.AliasやRewriteRuleを使用する場合の注意点
FollowSymLinks、SymLinksIfOwnerMatchの概要
①FollowSymLinks
この設定を有効するとWebサーバがシンボリックリンクをたどれるようになります。
②SymLinksIfOwnerMatch
シンボリック先のファイルまたはディレクトリがシンボリックリンクの所有ユーザIDと同じ場合にのみシンボリックリンクをたどれるようにします。
この設定を有効するとWebサーバがシンボリックリンクをたどれるようになります。
②SymLinksIfOwnerMatch
シンボリック先のファイルまたはディレクトリがシンボリックリンクの所有ユーザIDと同じ場合にのみシンボリックリンクをたどれるようにします。
SymLinksIfOwnerMatchとパフォーマンス
下記設定例の場合、/index.htmlに対するリクエストがあった場合、Apacheは”/www”、”/www/htdocs”のディレクトリ、”/www/htdocs/index.html”のファイルに対してlstat(2)を実行し、所有者を調べる必要があります。そしてこのlstatの実行結果はキャッシュされません。
すべてのリクエストに対し、lstatによって所有者を調べる必要がありパフォーマンスに影響を与えます。
(設定例)
すべてのリクエストに対し、lstatによって所有者を調べる必要がありパフォーマンスに影響を与えます。
(設定例)
DocumentRoot /www/htdocs <Directory /> Options SymLinksIfOwnerMatch </Directory>
SymLinksIfOwnerMatchを使う場合の推奨設定
セキュリティ上のチェックなどによってSymLinksIfOwnerMatchを使う必要がある場合は、下記設定例のようにSymLinksIfOwnerMatchを設定するディレクトリを限定するようにします。
DocumentRoot /www/htdocs <Directory /> Options FollowSymLinks </Directory> <Directory /www/htdocs> Options -FollowSymLinks +SymLinksIfOwnerMatch </Directory>
AliasやRewriteRuleを使用する場合の注意点
AliasやRewriteRuleの設定によって、ドキュメントルート以外の場所にコンテンツを配置できます。
その配置場所のDirecoryディレクティブの設定に関してもパフォーマンスを考慮する必要があるならSymLinksIfOwnerMatchの使用は3)と同様に注意して設定します。
その配置場所のDirecoryディレクティブの設定に関してもパフォーマンスを考慮する必要があるならSymLinksIfOwnerMatchの使用は3)と同様に注意して設定します。