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

Google Cloud Pub/Sub Emulator出现DEADLINE_EXCEEDED及卡顿问题求助

Google Cloud Pub/Sub Emulator 卡顿问题排查方向
  • 检查本地网络与端口占用

    • 用以下命令确认模拟器默认端口(8085)是否被占用:
      sudo lsof -i :8085
      # 或
      ss -tulpn | grep 8085
      
      若端口被占用,重启模拟器时指定其他端口并更新环境变量:
      gcloud beta emulators pubsub start --port=8086
      export PUBSUB_EMULATOR_HOST=localhost:8086
      
    • 检查Ubuntu防火墙规则,临时关闭防火墙测试是否是规则限制:
      sudo ufw status
      sudo ufw disable
      
    • 尝试用127.0.0.1替代localhost配置环境变量,避免DNS解析问题:
      export PUBSUB_EMULATOR_HOST=127.0.0.1:8085
      
  • 验证系统资源使用

    • 用top或htop查看模拟器对应的Java进程CPU、内存占用,若内存不足,启动时调整JVM参数:
      gcloud beta emulators pubsub start --jvm-args="-Xmx2G -Xms1G"
      
    • 检查磁盘空间,确保模拟器数据存储目录(默认~/.config/gcloud/emulators/pubsub或临时目录)有足够空间:
      df -h
      
  • 版本兼容性测试

    • 升级gcloud SDK及pubsub模拟器到最新稳定版:
      gcloud components update
      gcloud components install pubsub-emulator
      
    • 回退到旧版本模拟器(若之前版本可用),排除新版本bug:
      gcloud components install pubsub-emulator --version=0.7.3
      
    • 确认本地Java版本为8及以上:
      java -version
      
  • 清理模拟器状态数据

    • 停止模拟器后删除旧数据目录,避免数据损坏:
      rm -rf ~/.config/gcloud/emulators/pubsub
      
    • 启动时指定临时数据目录,隔离环境:
      gcloud beta emulators pubsub start --data-dir=/tmp/pubsub-emulator-tmp
      
  • 排查本地环境冲突

    • 关闭VPN、代理软件等可能拦截本地通信的工具后测试。
    • 停止其他Google Cloud模拟器(如Datastore、Firestore),单独运行Pub/Sub模拟器。
    • 对比正常同事的环境变量配置,检查Pub/Sub相关变量:
      env | grep PUBSUB
      
  • 查看详细日志定位问题

    • 启动模拟器时开启debug级日志:
      gcloud beta emulators pubsub start --verbosity=debug
      
    • 开启客户端SDK调试日志,追踪请求流程(不同语言SDK配置方式不同,例如Java可通过日志配置文件开启)。

内容的提问来源于stack exchange,提问作者Marcos Da Costa Novaes

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 07:02:35