如何判断AJAX请求是否并发?JMeter性能测试配置疑问
AJAX并发与非并发请求的区分及JMeter实践建议
核心判断逻辑
首先明确:浏览器端的AJAX并发不是看发起触发的时间差,而是看请求是否在同一时间处于「已发送、待响应」的活跃状态。
- 并发请求:多个请求同时向服务器发送,或同时处于等待响应的状态(受浏览器并发连接数限制,比如Chrome对同一域名默认最多同时发6个请求)。
- 非并发请求:必须等前一个请求完全拿到响应后,才会发起下一个(比如依赖前序请求结果的链式AJAX、或者设置了
async: false的同步请求)。
关于「Queued 1.50s」的说明
开发者工具里的「Queued」状态,意味着这个请求被浏览器暂时压在了队列里,没法立刻发送,常见原因:
- 超过了同一域名的并发连接上限(比如第7个请求会排队,等前面的请求完成后再发);
- 浏览器主线程被JS任务阻塞,腾不出资源处理请求发送。
这种排队的请求,哪怕触发发起的时间只差0.01s,本质上也不是并发——因为它们没法同时发送,实际是串行执行的。
0.01s时间差的场景判断
如果两个请求触发时间差0.01s,且都没有被Queued,同时处于「Pending」(等待响应)状态,那就是并发;如果其中一个因为排队延迟了发送时间,那这俩就是非并发。
JMeter并行控制器的选择方法
要还原真实的用户网络路径,你可以这么做:
- 把浏览器中实际并发发送的请求(Network面板里无Queued状态、Request Sent时间有重叠的请求)放到并行控制器下;
- 把有依赖关系、或被浏览器排队的请求按顺序串行排列(不用并行控制器);
- 重点看Network面板的「Timing」标签:如果A请求的「Response Received」时间晚于B请求的「Request Sent」时间,说明A和B是并发;如果A的响应完全收到后,B才开始发送,那就是非并发。
内容的提问来源于stack exchange,提问作者itsme017
相关产品推荐
相关产品推荐

