mod セキュリティ ルールhttps://github.com/SpiderLabs/owasp-modsecurity-crsを使用して、ユーザー入力データをサニタイズしています。ユーザー入力と mod セキュリティ ルールの正規表現との照合で、CPU が急上昇し、遅延が発生しています。全体として、さまざまなタイプの攻撃 (xss、badrobots、generic、および sql) をチェックするための 500 以上の正規表現が含まれています。request ごとに、すべてのパラメーターを調べて、これら 500 の正規表現すべてと照合します。Matcher.find
パラメータを確認するために使用しています。この場合、一部のパラメーターが無限ループに陥ります。以下の手法を使用してこれに取り組みました。
長時間実行されている正規表現の一致をキャンセルしますか? .
ユーザーリクエストをサニタイズすると、約 500 ミリ秒かかり、CPU % が急上昇します。テスト スイート ランナーで visualvm.java.net を使用して分析しました。
CPU プロファイル出力
CPU使用率と負荷平均を減らすのを手伝ってください。