我有一个运行在Tomcat上的Grails应用程序,数据库服务器是MySQL。
我通过测试发现,通过多次刷新页面(即按下F5),很容易在网站上创建拒绝服务攻击。这会导致服务器上的负载随着到MySQL数据库的连接数量的增加而迅速增加。
最终,站点变得无响应,可能需要几分钟时间才能恢复正常。
有谁能推荐调试这个的方法吗?
我应该关注缓存吗?
发布于 2013-03-12 20:00:33
我不建议在grails层处理DOS攻击。我总是建议把像nginx或apache这样的服务器放在java web应用程序前面。然后可以将web服务器配置为代理您的web应用程序。web服务器前面的防火墙创建了另一层安全。如果您试图在web应用程序层解决DOS攻击,则很可能为时已晚。
这里有一个关于DOS的快速参考:http://en.wikipedia.org/wiki/Denial-of-service_attack
缓存并不是用来修复DOS攻击的。它的目的是提高应用程序性能。许多DOS攻击都发生在套接字级别。
再说一次,我不建议在web应用程序级别阻止DOS。不管你是用哪种语言写的。
我的另一个问题是你有没有对你的应用程序进行过负载测试?您可能会遇到基本性能问题。我建议使用商业工具或基于web的负载调优服务。我猜你实际上看到的是一个自定义web应用的性能问题,而不是DOS的问题。
https://stackoverflow.com/questions/15359221
复制相似问题