【问题标题】:Geoserver is unable to accept concurrent requests when processing filesGeoserver 处理文件时无法接受并发请求
【发布时间】:2014-07-31 23:53:36
【问题描述】:

我正在尝试将 Geoserver 设置为我们的 MVC 应用程序的后端。 Geoserver 工作得很好……除了它一次只能让我做一件事。如果我正在处理 shapefile,则 REST 界面和 GUI 会锁定,直到作业完成处理。

我知道有集群地理服务器配置的选项,但这只是负载平衡,所以我将有两个而不是只有一个读/写操作...但我们需要将其扩展到一次至少有 20 个并发任务。

我在互联网上看到的所有参考资料都谈到锁定并发连接数,但始终只允许 1 个。

很明显,GeoServer 用于同时有超过 1 个请求的生产环境。我只是不知道如何实现它。

几周前,我的同事向 Geoserver 开发团队发送了这封电子邮件,该问题被描述为配置锁定……通过更改变量我们可以释放它。我唯一看到这个变量的地方是 GitHub 上的源代码。

有没有办法在 Geoserver 的一个配置文件中指定关闭这些锁,以便我可以进行并发读/写?如果有人在此之前遇到过这种情况,请帮忙!!!谢谢!

2014 年 5 月 16 日星期五晚上 7:34,Sean Winstead 写道:

嗨,

我们使用的是 GeoServer 2.5 RC2。通过 REST 上传形状文件时 API,服务器直到shape之后才响应其他请求 文件已处理完毕。

例如,如果我开始上传文件,然后单击图层菜单 Web 应用程序中的项目,直到收到对图层页面的响应 文件上传和处理完成后。

我研究了这个问题,但没有找到合适的原因/答案。我做了 安装控制流扩展并创建一个 controlflow.properties 数据目录中的文件,但这似乎没有任何效果。​

如何诊断此行为的原因?

很简单,就是配置锁。我们的配置子系统不是 能够处理正确的并发写入, 或在写入期间读取,因此存在一个完整的实例读/写锁 每次使用其余部分时都会拍摄 api和用户界面,锁到位时什么都做不了

如果需要,可以使用系统变量禁用它 GeoServerConfigurationLock.enabled, -DGeoServerConfigurationLock.enabled=true 但当然我们无法预测配置会发生什么,如果 你这样做。

干杯 安德烈亚

【问题讨论】:

    标签: concurrency locking task scaling geoserver


    【解决方案1】:

    -DGeoServerConfigurationLock.enabled=true是指GeoServer首次启动时给java命令的启动参数。查看 GeoServer 的 bin/startup.shbin\startup.bat 批准的方法是通过名为 JAVA_OPTS 的环境变量。你会看到像

    这样的行
    if [ -z "$JAVA_OPTS" ]; then
      export JAVA_OPTS="-XX:MaxPermSize=128m"
    fi
    

    startup.sh

    if "%JAVA_OPTS%" == "" (set JAVA_OPTS=-XX:MaxPermSize=128m)
    

    startup.bat。你需要做这些

    ...JAVA_OPTS="-DGeoServerConfigurationLock.enabled=true -XX:MaxPermSize=128m"

    或在 GeoServer 启动之前类似地定义 JAVA_OPTS 环境变量。

    开发团队的回应“当然我们无法预测如果你这样做会发生什么配置”,但是,这表明可能存在并发问题;当您扩大规模时,这可能会更频繁地出现。也许您想考虑将这些形状文件的后端处理与 REST 请求断开连接,以便使用某种排队机制而不是禁用 GeoServer 的配置锁定。

    【讨论】:

      【解决方案2】:

      谢谢你,我想通了。我们甚至不需要这样做,因为我们只为 REST 界面(管理员)使用了一个登录名,而不是为每个存储库创建一个新用户,现在锁定问题不会发生。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多