问题概述:
tomcat只有一个接口,只返回字符1,排除了带宽限制(网络带宽为7M,远远还没达到峰值),排除了jemeter压测机问题,使用两台压测机结果一样。排除了tomcat问题,使用tomcat集群效果跟单台tomcat效果一样。麻烦大家指点指点
详细内容:
1.linux配置为2核4G
2.tomcat有个接口直接返回字符串1(用于排除带宽)
3.压测结果
在自己电脑跑服务用jemeter测吞吐量可达几千接近一万,但在阿里云上跑只有可怜的几十刚开始以为是tomcat的问题,然后加了集群,结果却单台tomcat和多台的测试结果一样,然后在网上找了各种解决方案,修改了文件句柄数以及tcp的一些配置,结果还是一样。用其它服务器8核16G配置的机器试也是一样。以下为linux的相关配置
大量的请求从单个IP发出,你这样不会被误解为攻击吗,云服务商这点流量清洗还是会有的
1、你是不是通过公网url进行的压测?这个可能会被阿里云的抗DDoS给挡住了;
2、你可以在你其中的一台云主机上安装jmeter去压测。
https://blog.csdn.net/carefree2005/article/details/120305273
https://blog.csdn.net/carefree2005/article/details/120313510
3、确定是否是被阿里云挡住了,可以如楼上所说,在你服务器端和远程客户端对比连接数。
建议向阿里云官方客服反馈,寻求在云上是否做了什么限制,这种访问量确实是太低了。
楼上的回答都没说到核心;
1、阿里云对于这么点小小流量是不会做限制,也不会当作是dd;
2、你说排除了tomcat的问题,不知道是不是因为集群和单机的情况一致来判断;
如果是,那么tomcat还是有优化空间的,默认情况下,tomcat的最大线程数是200左右,
加上其他相关配置,qps在800左右是正常,并且是正确的;
3、所有人都跑去看阿里云,都想说是阿里云的问题,
不知道题主有没有考虑是你本地网络出口的问题;
你发起请求,按jmeter的常规配置来看,一个请求大概1k,
800个请求,就是800k,这是理论上的最大值,
打个折,400k;
400k【注意,这是流量】;
换成带宽,400k*8 = 3200kbps;
也就是说,你的出口【上传】带宽至少要在3M;
在目前的企业环境网络中,如果不是特殊声明,或者特殊申请,上传带宽是没有那么大,一般就是1mbps左右;
所以,你单台机器测试这样的结果,这不很正常吗?
你说呢?
压力测试还是多ip试验吧
Linux tcp链接数发一下,netstat -ano
阿里云官方是这样说的https://help.aliyun.com/document_detail/28411.html
再补充下,我通过nginx直接返回一个html (内容只有一个字符),同样的问题,吞吐量上不去,这样一来说明之前出现的所有问题并不是tomcat,redis的问题,流量根本就进不去
之前了解过jemeter不是真正的并发,要测吞吐量和并发,还是得自己开多线程压测
https://blog.csdn.net/bujidexinq/article/details/104952136
瓶颈会不会在Linux系统上,还没到Tomcat
你看看这个对你有帮助麽
压测不看你tomcat,是你服务器配置有问题,导致压测上不去。
建议提个工单给阿里云客服,让他们看看
把安全相关的都关掉,服务器选择最便宜的来测试,分分钟上去
这个问题追踪了差不多一周,最后在windows压测机和被压机抓包发现windos客户端出现大量tcp port number reused
如果内网测试正常,只有公网测试qps特别低,而且服务器资源占用也不高的话。考虑到你是用单机jmeter做的压测,很大可能是网络层的原因,对于这种单IP的高频请求,服务器都有自己的安全策略。建议你改为多IP测试
可能是cdn缓存机制吧,导致实际数据和显示的数据不符合
DDoS原生防护在清洗判定中采用了AI智能分析的方法。您可以根据正常业务流量基线,设置一个清洗阈值;DDoS原生防护能够基于阿里云的大数据能力,自学习您的业务流量基线,并结合算法识别异常攻击。
只有当AI智能分析检测到DDoS攻击且请求流量达到您设置的清洗阈值时,DDoS防护才会触发流量清洗,避免了使用固定阈值可能导致的误清洗(例如,正常业务上涨波动超出固定清洗阈值,引起误清洗)。
https://help.aliyun.com/document_detail/28411.html
反馈给阿里云客服,让他们看看,这种不应该是限制的
可以在服务器内测试下,压测数据是否正常。
都没说到一个点,2核4g的服务器能支持1000个用户同时访问吗?更何况服务器上还可能搭载程序,但是确实也可能有其他原因,带宽,而且他配置的应该是1秒钟1000用户同时访问,服务器不崩才怪