如何修复JMeter中Sample Start显示为1969-12-31 19:00:00 EST的问题?
解决JMeter SFTP测试认证失败及时间异常问题
问题分析
你遇到的Auth fail错误结合Sample Start:1969-12-31 19:00:00 EST的时间异常,大概率是客户端与SFTP服务器时间差过大导致服务器拒绝SSH认证;同时JMeter无法正确获取系统时间,出现了epoch起始时间的采样标记。
用JSR223 PreProcessor手动设置时间的操作方法
1. 添加JSR223 PreProcessor
在你的SFTP请求节点上右键:Add → Pre Processors → JSR223 PreProcessor
2. 编写Groovy脚本
在PreProcessor的Script输入框中粘贴以下代码,强制修正时间和时区:
// 强制设置JVM时区为当前实际时区(替换为你的时区,比如Asia/Shanghai) System.setProperty("user.timezone", "Asia/Shanghai") // 获取当前时间戳,可用于后续请求的时间参数(若需要) def currentTimestamp = new Date().getTime() vars.put("CURRENT_TIMESTAMP", currentTimestamp.toString())
3. 验证效果
运行测试,查看采样结果的Sample Start是否显示正确的当前时间,同时检查Auth fail错误是否消失。
额外排查建议
- 确认SFTP服务器与你的测试机时间差在5分钟以内(多数SSH服务器会拒绝时间差过大的连接)
- 检查SSH Protocol Support插件版本是否适配JMeter 5.5,建议升级到最新兼容版本
- 再次核对SFTP的用户名、密码或密钥配置,排除认证信息错误的可能
内容的提问来源于stack exchange,提问作者3oJIoTou
相关产品推荐
相关产品推荐

