Ahoi,
我使用集成了tomcat的spring boot构建了一个RESTful Webservice。然后我尝试测试它是多么强大我发现发送许多HTTP请求(使用apache基准测试)会大大增加内存使用量,直到服务因OutOfMemoryException而失败 - 它似乎也无法在合理的时间内恢复。
我找不到任何关于如何配置集成tomcat的文档,例如通过IP来限制请求的数量(或者其他什么是有意义的?)。另外我想知道是否有任何已知的内存泄漏,因为少数1000个请求不应该真正带来tomcat(我使用-Xms512m -Xmx1024m运行.jar)
感谢您的帮助!
答案 0 :(得分:1)
我不认为Tomcat内置了这样的过滤器,但为此目的添加自己的javax.servlet.Filter
应该是非常简单的。 RateLimiter
class from Guava是一个很好的资源,用于限制某个时间窗口中每个IP允许的请求数量。