安装
yum -y install httpd-tools
本文用于压测k8s集群内pod,k8s集群master可直接测试pod ip
命令:
ab -n 10000 -c 100 http://10.42.8.212/
其中,-n表示请求数,-c表示并发数,ip必须有”/“,表示此目录而不是此文件,默认80端口;
实时查看pod当前资源占用率
watch kubectl top pod -n cms
可以看到cmsback容器在持续飙升
问题:
当并发量太高的时候报错如下
apr_socket_recv这个是操作系统内核的一个参数,在高并发的情况下,内核会认为系统受到了SYN flood攻击,会发送cookies(possible SYN flooding on port 80. Sending cookies),这样会减慢影响请求的速度,所以在应用服务武器上设置下这个参数为0禁用系统保护就可以进行大并发测试了:
vim /etc/sysctl.conf
修改 net.ipv4.tcp_syncookies = 0 后保存
执行命令 sysctl -p