【问题标题】:Slow Connect via Open / OpenAsync .Net Provider Unidata通过 Open / OpenAsync .Net Provider Unidata 进行慢速连接
【发布时间】:2020-10-03 07:36:33
【问题描述】:

通过 OpenAsync 和 Rocket 的 ADO.NET 提供程序打开与 Unidata 服务器的连接时,我一直看到 3 秒以上的延迟。

我可以做些什么来诊断这种延迟?

【问题讨论】:

    标签: universe unidata u2netdk


    【解决方案1】:

    我一直在使用 jdbc 和 odbc 连接,三秒钟是不对的。

    您可以先将事物分解为客户端、网络、服务器。

    在客户端上,如果您使用 IP 地址与主机名,是否相同?如果不同,则 DNS 延迟。您是否有任何可能会延迟连接的防病毒软件或其他软件?你能把它关掉,或者在新配置的机器上做一个测试吗?

    对于网络,你能在毫秒内 ping unidata 服务器吗?有防火墙吗?您可以安装wireshark并按目的地过滤数据包吗? ssh 时有延迟吗?服务器是否配置了 LDAP/AD 或本地身份验证 - 可能正在连接到另一台服务器进行身份验证?

    在服务器上,您可以打开 uniobjects 日志记录,然后重新启动 unirpcd。您的 LOGIN/UOLOGIN 中是否有任何东西挂断了远程连接?

    $cat $UDTHOME/serverdebug udcs 9 /tmp/udcs.log

    【讨论】:

    • 我的连接是通过防火墙在互联网上的。防火墙似乎运行良好,因为我们的许多其他软件通过它运行得非常快。我相信它与 Unidata 的配置是隔离的,因为其他进程运行得很快。 SSH 很快。 Unidata 安装在运行 CentOS 的 Linux 服务器上。在防火墙和操作系统之外没有其他身份验证来源。没有 LDAP/AD。如何启用 uniobjects 调试?
    • LOGIN 是一个 PQ,但它是通过 putty 即时生成的,所以我不确定它是否会导致任何延迟。
    • 当我通过 uniobjects 调试跟踪连接时,这是我看到 3 秒确认的地方。 6/16/2020 3:44:36 PM:ThreadID: ThreadID: 3 Thread Name : lHostToNetworkOrder:426397849 6/16/2020 3:44:39 PM:ThreadID: ThreadID: 3 Thread Name : lReturnCode in UciConnection::U2Login(): 0
    • 我正在使用 UniObjects for Java session.connect(host, user, pass, acct);,所以可能不是 100% 可比的,但是您在连接中指定了一个帐户(数据库),您可以尝试登录到 $UDTHOME/demo 以进行规则在您的应用程序逻辑中找出任何东西?如果这需要 3 秒,那么它会排除您帐户中的任何内容。
    • 模拟账户上的结果相同。我已经联系了支持提供商并正在与他们一起解决问题。我很快就会在这里发布我的结果。
    猜你喜欢
    • 2012-10-09
    • 1970-01-01
    • 1970-01-01
    • 2014-03-25
    • 1970-01-01
    • 2016-10-14
    • 1970-01-01
    • 2020-01-20
    • 1970-01-01
    相关资源
    最近更新 更多