1

アホイ、

Tomcat が統合されたスプリング ブートを使用して、小さな RESTful Web サービスを構築します。次に、(Apache ベンチマークを使用して) 多くの HTTP 要求を送信すると、OutOfMemoryException が原因でサービスが失敗するまでメモリ使用量が劇的に増加することがわかりました。また、妥当な時間内に回復できないようです。

統合されたTomcatを構成する方法、たとえばIPによるリクエストの量を制限する方法に関するドキュメントを見つけることができませんでした(または他に何が理にかなっていますか?)。また、既知のメモリ リークがあるのではないかと思います。数 1000 のリクエストで実際に tomcat がダウンすることはありません (私は -Xms512m -Xmx1024m で .jar を実行します)。

私はあなたの助けに感謝します!

4

1 に答える 1

1

Tomcat にそのようなフィルタが組み込まれているとは思いませんが、javax.servlet.Filterこの目的のために独自のフィルタを追加するのは簡単です。RateLimiterGuavaのクラスは、時間枠内で IP ごとに許可されるリクエストの数などを制限するための優れたリソースです。

于 2014-02-07T20:08:02.630 に答える