1.慢攻击测试
slowhttp测试
yum install slowhttptest
slowhttptest -c 10000 -B -g -o my_body_stats -i 110 -r 200 -s 8192 -t FAKEVERB -u http://localhost:post -x 10 -p 3
参考来源:https://www.cnblogs.com/java-linux/p/13452625.html
使用 slowhttptest 测试,具体测试方式可以参照下面的参考链接。
这里主要说一下测试结果的验证,slowhttptest 测试过程中会显示如下图的执行结果:
这里主要看两行:
- 最后一行的
service available
是否始终处于Yes
状态,也就是服务正常访问状态 - 观察第一行中的数值(即测试时间),测试连接是否在超过之前配置的超时时间之后结束。
如果 slowhttptest 执行期间,服务始终正常访问,访问超时之后就结束,则证明配置生效。
@Configuration public class WebServerConfiguration { @Bean public TomcatServletWebServerFactory createEmbeddedServletContainerFactory() { TomcatServletWebServerFactory tomcatFactory = new TomcatServletWebServerFactory(); // tomcatFactory.setPort(80); // tomcatFactory.setContextPath("/"); tomcatFactory.addConnectorCustomizers(new MyTomcatConnectorCustomizer()); return tomcatFactory; } class MyTomcatConnectorCustomizer implements TomcatConnectorCustomizer { public void customize(Connector connector) { Http11NioProtocol protocol = (Http11NioProtocol) connector.getProtocolHandler(); //设置最大连接数 protocol.setMaxConnections(800); //设置最大线程数 protocol.setMaxThreads(800); protocol.setAcceptCount(100); protocol.setConnectionTimeout(5000); protocol.setMaxHttpHeaderSize(8192); protocol.setKeepAliveTimeout(60000); protocol.setMaxKeepAliveRequests(10); } } } 参数参考https://www.cnblogs.com/softidea/p/5751596.html