大量的F5刷新有办法阻止吗?有些用户可能在测试中一直按F5,把项目刷死了。我们很难去限制用户不能这么做,但就因为存在这样的问题过不了客户测试那关。
而且是内网,同IP转发,几十人都用一个IP,所以应该不能用iptables阻止。
项目的页面cache也全开了,但量很大还是挡不住,项目是用drupal做的。
有没有办法判断HTTP请求,如果请求COOKIE相同时一秒内限制访问量?
以下补充一些信息:
这是内网测试,没有带宽限制
曾试过5秒内有6000次请求,但不是机器提交,因为人都去客户公司了
一直按住F5是会发出很多请求的,内网速度快,数秒上千次请求都有可能,查access log可以得到这个结论
把项目刷死的表现是8个核CPU都100%了,内存16G,最多的时候用了10G。
首先从问题出发,客户都会将项目刷死,那项目上线后,如何保证稳定?
1、你的静态文件,js、CSS、图片,考虑采用本地缓存处理;
2、后端,比如Ajax请求的数据、服务端从数据库获取的数据,看问题是在应用里面(运算太复杂),还是在数据库(SQL查询不当),并考虑采用适当的缓存机制(Memcache、Redis、File)来处理;
从前端去限制用户行为,不是解决问题的办法。
先评估你的服务器能承受多大量的并发访问,有了这个数据做参考,超过这个数据量的测试,无论如何都会超出服务器承受范围,那需要考虑架构上的改变;
还要考虑测试的目的,是压力、白盒、黑盒、动态、兼容、安全测试?