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

使用JMeter的JSR223连接MongoDB Atlas时遇问题求助

解决JMeter连接MongoDB Atlas的问题

1. 修复驱动版本冲突

你当前混用了3.12.x的MongoDB驱动和4.9.1的BSON包,版本不兼容会直接导致连接失败。必须使用同版本号的驱动与BSON包:

  • 移除bson-4.9.1.jar,下载与mongo-java-driver-3.12.13.jar同版本的bson-3.12.13.jar
  • 确保所有MongoDB相关Jar包版本完全一致,避免依赖冲突

2. 确认Jar包放置路径

将以下Jar包放在JMeter安装目录的/lib/ext文件夹下:

  • bson-3.12.13.jar
  • mongo-java-driver-3.12.13.jar
  • groovy-4.0.11.jar
    放置完成后重启JMeter,确保Jar包被正确加载。

3. 检查MongoDB Atlas的IP白名单

Atlas默认会拒绝未授权IP的连接请求:

  • 登录Atlas控制台,进入你的集群页面
  • 点击「Network Access」,添加你的公网IP地址(测试阶段可临时选择允许所有IP,生产环境需严格限制)
  • 保存配置后等待1-2分钟生效

4. 正确配置连接字符串

Atlas提供的连接字符串格式为mongodb+srv://<username>:<password>@<cluster-name>.mongodb.net/?retryWrites=true&w=majority,注意:

  • 替换<username>为你的Atlas数据库用户名
  • 替换<password>为你的密码,如果密码包含特殊字符(如@、&、#),需要进行URL编码(例如@替换为%40)
  • 在JMeter的MongoDB Source Config中,将「Connection String」字段设置为处理后的完整字符串
  • 确保「Database Name」填写正确的目标数据库名称

5. 用Groovy脚本排查具体错误

如果仍连接失败,建议用JSR223 Sampler(选择Groovy语言)编写测试代码,获取详细报错信息:

import com.mongodb.client.MongoClients
import com.mongodb.client.MongoDatabase

try {
    def connectionString = "你的Atlas连接字符串"
    def mongoClient = MongoClients.create(connectionString)
    def database = mongoClient.getDatabase("你的数据库名")
    log.info("连接成功,数据库名称:" + database.getName())
    mongoClient.close()
} catch (Exception e) {
    log.error("连接失败:" + e.getMessage(), e)
}

运行后查看JMeter「View Results Tree」中的日志,根据具体错误(如认证失败、连接超时、IP被拒绝)针对性解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 02:57:19