私はモッドリライトが達成する多くの肯定的なことがあることを知っています。しかし、否定的なものはありますか?明らかにあなたが書き方が悪いと、問題が発生するでしょう。しかし、大量のサイトを持ち、常時mod-rewriteを使用している場合、パフォーマンスに重大な影響を及ぼしますか?私はGoogleでいくつかのベンチマークをすばやく検索しましたが、それほど多くは見つかりませんでした。Mod-Rewriteを使用しているときに悪影響がありますか?
答えて
重要なパフォーマンスの問題を起こすことなく、月間何百万回もヒットするサイトでmod_rewriteを使用しました。ルールに応じて最初に適用されるリライトを知る必要があります。
mod_rewriteを使用する方が、現在の言語でURLを解析するよりも、おそらく高速です。
実際にパフォーマンスが心配な場合は、.htaccess
ファイルを使用しないでください。遅いです。すべての書き換えルールをApacheの設定に入れます。これは起動時に一度だけ読み込まれます。 .htaccess
親フォルダ内のファイルごとに、すべての要求に対して.htaccess
ファイルが再解析されます。
Apacheのパフォーマンスが心配な方は、書き換えルールが多い場合は「スキップ」フラグを使用することを検討してください。これはルールのマッチングをスキップする方法です。だから、どのようなオーバーヘッドがマッチングに費やされたとしても保存されます。
私は "スキップ"フラグを多く利用したプロジェクトに参加していましたが、ファイルに書かれている順序に依存するため、メンテナンスが苦労しました。
状況によっては、[L]フラグ(現在のルールが一致する場合は* all *のルールをスキップする必要があることを示す)を使用する方が良いでしょうか? –
サブディレクトリ/新しいローカライゼーションで.htaccessを防止する場合は、フラグ "END" – 18C
上記のRyanの言葉をエコーするには、.htaccess
のルールが、設定ファイルにルールを設定するのと比べて、ビジー状態のサイトで実際に負荷時間を傷つける可能性があります。私たちは最初にこれを試しました(月間6000万ページ)が、サーバーが喫煙を開始するまで長くはかかりませんでした:)
あなたの設定にルールがあるという明らかな欠点は、ルール
最後のフラグ( "L")は、より頻繁にアクセスされるルールが最初に評価され、最初に評価されると、ルールの実行をスピードアップするのに便利です。あなたが長いルールセットを持っていれば、メンテナンスをもっと厄介にすることができます。私は、私のルールのリストを途中まで編集していて、意図されました!
関連するベンチマークも見つけられず、独自のテストスイートが完成しました。私たちのルールが適切に整理され、Apacheのconfへと整理されると、私たちはパフォーマンスに大きな影響を与えることはほとんどありませんでした。
- 1. プロトタイプを変更すると悪影響はありますか?
- 2. ピップインストールはコンピュータに悪影響を及ぼすことがありますか?
- 3. jQuery - 複数の準備完了イベントを使用することに悪影響はありますか?
- 4. T-SQLスクリプトで "GO"を使用するか使用しないと結果に影響がありますか?
- 5. <head>タグにjQueryをロードしていないと、悪影響はありますか?
- 6. Javaでコードブロックを使用するとパフォーマンスに影響はありますか?
- 7. 深い学習の不均衡なデータの悪影響はありますか?
- 8. コードのレビュー時に悪い匂いがアプローチに影響しますか?
- 9. binディレクトリに.pdbファイルが存在することにパフォーマンス上の悪影響はありますか?
- 10. jQueryセレクタを連想させることには何の悪影響がありますか?
- 11. "GONE"ビューはパフォーマンスに悪影響を及ぼしますか?
- 12. GWTエミュレートスタックトレースを使用した場合のパフォーマンスへの悪影響
- 13. autoをパラメータとして使用することに負の影響はありますか?
- 14. 悪影響がgensimでのモデルのパフォーマンスにどのように影響しますか?
- 15. Sql server-テーブル名の名前を変更すると悪影響がありますか?
- 16. Vagrant Laravel Scotchbox - 悪影響によるエラー
- 17. pythonスクリプトが親ディレクトリを移動/名前変更すると、悪影響はありませんか?
- 18. sp_updatestatsがSQLに与える影響はありますか?
- 19. ブラウザでJavaScriptを無効にするとjQueryに影響がありますか?
- 20. ファイルベースのCacheDependencyがパフォーマンスに悪影響を及ぼす可能性がありますか?
- 21. あまりにも多くのファサードを使用すると、パフォーマンスに影響しますか?
- 22. _config.GetSection( "section")["key"]の使用によるパフォーマンスへの影響はありますか?
- 23. 多すぎると、ウェブサイトのパフォーマンスに悪影響を与えますか?
- 24. iOSアプリケーションのコンパイル時にarmv7を使用するとパフォーマンスにどのような影響がありますか?
- 25. 多くのモジュールを含むNodeMCUをコンパイルすると、メモリ使用量に影響がありますか?
- 26. C# - WebMethodAttributeはパフォーマンスに悪影響を及ぼす可能性がありますか?
- 27. 関数の代わりにメソッドを使用すると、パフォーマンスに影響はありますか?
- 28. データベースにはどのような影響がありますか?
- 29. mavenのwsdlDirectory設定に影響がありますか?
- 30. コンテンツタイプtext/jsonにセキュリティの影響がありますか?
丁寧な回答ですが、*有効にする* .htaccessファイルが問題であり、あまり使用しないことを指摘しておきます。それらを完全に無効にしないと、1つの.htaccessファイルをどこにも持っていなくても、すべてのパスセグメントに対してstatヒットが残っています。 –
AllowOverride Noneを使用して.htaccessを無効にします。 – NateS