You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用wrk HTTP基准测试工具添加多URL参数时遇问题求助

问题原因与解决办法

你碰到的这个问题其实是shell对特殊字符的解析搞的鬼——&在bash、zsh这类常用shell里是个特殊符号,用来把命令放到后台执行。当你直接在命令里写?accountId=2233&applicationName=App1时,shell会把http://localhost:7040/api/features/FeatureA?accountId=2233这部分当成后台任务启动(所以你会看到[1] 121这个后台任务ID),然后把applicationName=App1当成一个单独的命令去执行,这就导致了命令被截断,执行完还会出现[1] + Done的后台任务结束提示。

给你两个简单的解决办法:

  • 用引号包裹整个URL
    把URL放在双引号或者单引号里,shell就会把整个URL当成普通字符串,不会解析里面的&。修改后的命令如下:

    wrk -d10s -t20 -c20 "http://localhost:7040/api/features/FeatureA?accountId=2233&applicationName=App1"
    

    如果你的URL里没有单引号,用单引号也完全没问题:

    wrk -d10s -t20 -c20 'http://localhost:7040/api/features/FeatureA?accountId=2233&applicationName=App1'
    
  • 转义&符号
    在&前面加个反斜杠\,告诉shell这只是个普通字符,不是后台执行的标记:

    wrk -d10s -t20 -c20 http://localhost:7040/api/features/FeatureA?accountId=2233\&applicationName=App1
    

另外提一句:你命令里写的&是HTML里的转义字符,在shell命令里完全不需要用这个,直接用&就行,只要按上面的方法处理它的特殊含义就好。

内容的提问来源于stack exchange,提问作者dawson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:32:52