Apacheとの類似: .htaccess

することができませんすべきではありません。.htaccessが必要であれば、おそらく間違ったやり方をしています。

なぜ?

いい質問です。まず第一に、.htaccessが動作するには、Apacheは.htaccessファイルをチェックするためにリクエストされたパス内の全てのディレクトリを調べる必要があり、存在するとApacheはそれらの全てを読み込みパースします。これが全てのリクエストに対して起こります。ファイルを変更した瞬間にそれが効果を持つことを思い出してください。これはApacheがそれを毎回読んでいるからです。

Numbers

http://example.com/site/files/images/layout/header.png

エイリアスが散らかっていなくてファイルシステムがパスのように見えるとします。これはそのあたりによくあるほとんどのサイトをカバーします。/ ディレクトリがあり、site/, files/, images/ および layout/ があります。結局.htaccessファイルを持つかもしれない合計5つのディレクトリがあります。/, files/ および images/ に .htaccessを追加したとします。3つの .htaccess ファイルです。これはとてもよくあることです。

これで数字は、6つのファイルシステムのstatsと4つのファイルシステムのreadです。リクエストされたファイルの1つを含みます。これが各読み込みごとに発生します。NGINXとApacheの両方がこれを行う必要があるため、解析時間を無視し、この無視できる時間の違いを考慮します。

Requests / Hour NGINX FS Stats NGINX FS Reads Apache FS Stats Apache FS Reads コメント
1 1 1 6 4 単一のリクエスト [全前負荷はありません]
10 10 10 60 40 10 リクエスト [全然負荷はありません]
3,600 3,600 3,600 21,600 14,400 1 req/sec [非常に低い負荷]
144,000 144,000 144,000 864,000 576,000 40 req/sec [中程度の通信 - あまり大きくありません]
324,000 324,000 324,000 1,944,00 1,296,000 90 req/sec [高通信サイト - 大規模ではありません]
576,000 576,000 576,000 3,456,000 2,304,000 160 req/sec [非常に高通信 - まだ大規模ではありません]

もっと多くの数字

Apacheのデフォルトは AllowOverride All を使います。Drupal webサイトでこれを見てみましょう。テーマのために1つのイメージ。webサイトの DocRoot が /var/www/drupal6/にある場合、もっと多くのファイルシステムのstatsが単に追加されます。これはリクエストごとに3つのstatsを追加します。これが信じられないことに一般的なApache/Drupalセットアップです。It’s the end result of countless guides out there.

/var/www/drupal6/sites/example.com/themes/yourtheme/images/layout/header.png

自身のものを作成しなくてもこのパスの中に2つの.htaccessファイルがあるでしょう。これが一般的なため、/var/www/ の中に1つを追加するとします。

Requests / Hour NGINX FS Stats NGINX FS Reads Apache FD Stats Apache FS Reads コメント
144,000 144,000 144,000 1,296,000 576,000 40 req/sec
324,000 324,000 324,000 2,916,000 1,296,000 90 req/sec
576,000 576,000 576,000 51,840,000 2,304,000 160 req/sec

結論

.htaccessを使うのを止めてください。パフォーマンスが恐ろしいことになります。NGINX は効率的iなように設計されています。このようなものを追加することはそれを破壊します。

inserted by FC2 system