? ? ? ? 为了摸底项目的性能,需要进行性能测试。经过一番调研之后,决定使用基于腾讯云TKE的分布式jmeter进行压测,好处是有jmeter-suite可用,搭建环境方便;容器化部署可以方便的增加pod来提升压力。
? ? ? ?但是在实际施压的时候,发现请求量上不去,达不到压测效果。经定位发现,容器pod上存在大量TIME_WAIT,而实际在传输数据的连接远小于设置的并发线程数:
netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'
? ? ? ?这是TCP连接释放的4次挥手的过程:
? ? ? ?这个过程可以得到一下几个信息:
? ? ? ?比如并行的线程数上万,由于一般是施压方主动断开连接,因此会积累大量的TIME_WAIT。建议解决方案:
? ? ? ?如第二节中所述,TIME_WAIT状态的连接,需要2MSL时间后才能回收端口用于创建新的连接,但是实际Linux内核配置支持快速回收TIME_WAIT状态的连接,配置可查看:
cat /etc/sysctl.conf
? ? ? ?使用百度来实验压测,实测相同的线程下,压出来的QPS大幅提升。
本文案例收录在 https://github.com/chengxy-nds/Springboot-Notebook 大家好,...
价值 21世纪初期有个非常具有时代标志性的词叫做互联网,在这短短二十年的时间里...
与Lucene和solr中的概念类似。 另外,在SolrCloud中,有一些集群相关的概念,在E...
个人信息安全受威胁 手机APP窃取用户个人信息的新闻并不少见。比如外卖APP通过获...
微服务和分布式的联系与区别什么?分布式只是一种手段把不同的机器分散在不同的地...
基本介绍 赫夫曼编码也翻译为(哈夫曼编码)Huffman Coding,又称为霍夫曼编码,是...
为了能更好地适应每一个时代的机遇与挑战,企业的制度需不断更新迭代。那么时至...
云计算已经成为了IT投资组合现代化的首选模式,首席信息官们声称,将应用程序迁...
问题场景 背景:现在很多公司使用对象存储服务来存储静态文件/图片等,充分利用...
TOP云 1月13日讯,不知是受股市影响还是怎么着,最近 域名 圈似乎达成了广泛的共...