好的,以下是美化后的内容:
Kangle查看并发连接数,检测被CC攻击时的QPS大小
首先了解QPS是什么。
QPS(Queries Per Second)每秒查询数,表示服务器端每秒能够响应的查询次数。这里的查询是指用户发出请求到服务器做出响应成功的次数,可以简单认为每秒钟的Request数量。所以也可以叫RPS,QPS是服务器可承受的确认响应查询,RPS则是每秒请求数量(超出QPS时RPS则可能导致失败请求),字面意思大致相同。
用户打开一个页面到页面渲染结束代表一个TPS,那这个页面中会调用服务器很多次,比如加载静态资源、查询服务器端的渲染数据等,根据页面资源数量不同就会产生数十个QPS,因此,一个TPS中可能会包含多个QPS。
计算方式可以:QPS=并发数/平均响应时间。
并发连接数可以很轻松的在3311登陆后首页就能显示出来。
TCP连接对于系统资源最大的开销就是内存。
因为TCP连接归根结底需要双方接收和发送数据,那么就需要一个读缓冲区和写缓冲区,这两个buffer在Linux下最小为4096字节,可通过cat /proc/sys/net/ipv4/tcp_rmem
和cat /proc/sys/net/ipv4/tcp_wmem
来查看。
所以,一个TCP连接最小占用内存为4096+4096 = 8K,那么对于一个8G内存的机器,在不考虑其他限制下,最多支持的并发量为:810241024/8 约等于100万连接数并发。此数字为纯理论上限数值,在实际中,由于Linux kernel对一些资源的限制,加上程序的业务处理,所以,8G内存是很难达到100万连接的,当然,我们也可以通过增加内存的方式增加并发量。
QPS则需要利用请求控制中模块来实现查看。
创建一个表内容规则如下:
ip_rate匹配模块,rate>request填写0,second填写1。
flow标记模块,用于统计消耗流量,单位字节,如果勾选了reset选项,再点提交,就会清空之前的统计信息。
那么如何查看QPS呢,就是观察ip_rate模块中显示的尾数,例如图中显示35,代表每秒35 QPS并发到服务器。
flow模块里,第一个是流量,单位字节,例如图中代表产生了262.07GB流量,第二个百分比是缓存命中率,6%,即有6%的流量是从Kangle的缓存中给出。
关于无视小学生CC说法。
我服务器可以抗2000一秒并发,小学生连100都打不出来。如上方所说,在请求控制左侧有一个flow模块的表单,左侧的匹配模块那个它可以看并发,显示当前每秒服务器中有多少并发。右侧这个flow则是流量消耗情况,单位字节。
上1000并发可能一年都难得遇到一次。如果达到两千,CF CDN他就会发邮件进行通知当前遭受攻击,已为站点启用CC防御。模块拒绝的下方则不会执行,防护CC这种目标是继续的,可以统计并发。
为什么小学生能打倒别人网站,总有人哭服务器被攻击?
然而一般的网站,只要有10并发他就挂掉了。这也就是小学生拿着100并发秒杀各种网站的原因。
加上很多高防服务器只是防护DDOS,不防护CC,甚至说是高防,但是是假防DD一来了一碰就死,DD也难受。网上一堆5美元包月的网页端动不动就是10G流量根本扛不住,对于网站的CC攻击所以说最好弄1000m服务器去抗CC。
小学生是什么意思?
不一定是小学生,可能是初中生想满足自己的虚荣心之类的想法,各种秒天秒地秒宇宙。
欢迎指出任何有错误或不够清晰的表达,可以在下面评论区评论。