一文学会如何定位jmeter压测中的connection问题

前言:相信做过性能压测的朋友多多少少的都会遇到过tcp级别的报错,比如“connection refused”、“connection reset”、“javax.net.ssl.SSLHandshakeException”等等问题,这些问题客户端跟服务端都有可能会导致,那么一般大家都是怎么定位排查这些问题的呢?估计很多朋友会直接放弃对这些问题的定位,或者直接抛出给运营商,但是笔者觉得想要成为一个优秀的性能测试工程师,这类问题我们必须要昂首面对!

其实很多性能测试工程师不愿意去面对这类问题也不是没有道理,主要这类连接问题位于第四层:传输层,客户端跟服务端一般不会直接有对这类问题的日志记录,我们平常最多只能看到应用层,比如http的日志,那我们到底该如何定位tcp层级的问题呢?

主要分3个步骤:

1、充分掌握tcp的三次握手与四次挥手原理,只有掌握了这些,才能知道tcp从建立连接到断开连接是怎样一个过程。

2、在压测过程中,使用tcpdump工具对客户端与服务端的tcp通讯进行抓包,tcpdump的具体使用方法可以自行官网查询。

3、将tcpdump抓出的数据导入wireshark进行分析,看看问题到底出在谁的身上,其实wireshark本身也是一个tcp抓包工具,但是基于图形界面,在linux命令行中不实用,所以在linux中我们往往先利用tcpdump导出数据,再借助wireshark进行分析。

其实今天这篇文章只是简单的介绍了压测过程中tcp问题的定位分析步骤,如果想要充分掌握,还需要自己去学习了解以上每一步的知识,后续笔者也会跟大家细讲,欢迎大家一起交流!

你可能感兴趣的:(一文学会如何定位jmeter压测中的connection问题)