【问题标题】:Atlassian Crowd with SQL Server Azure, anyone encountering performance issues?Atlassian Crowd 与 SQL Server Azure,有人遇到性能问题吗?
【发布时间】:2017-08-11 00:13:55
【问题描述】:

几天来,我一直在尝试使用 SQL Server Azure 作为 Atlassian Crowd 的数据存储,但遇到了巨大的性能问题。

例如,人群管理应用程序非常慢,几乎无法使用。

我想知道是否有人成功设置了这种解决方案可以给我一些建议。

到目前为止我做了什么:

  1. 在本地设置本地 Atlassian Crowd 2.4.2 SQL2008R2数据库
  2. 编写数据库脚本并在其上运行脚本 一个 azure 数据库(无法直接在 azure 上设置为 setup 脚本错过了表上的天蓝色强制聚集索引 hibernate_unique_key)
  3. 将强制聚集索引添加到 azure hibernate_unique_key 表中
  4. 使用 ssl 设置 jdbc 连接

我没有遇到将人群连接到数据库的问题,但一切都很慢。人群启动需要大约 5 分钟,而使用本地 sql 服务器需要大约 20 秒。 每次往返人群管理 Web 控制台大约需要 30 秒。

我的数据库小于 1Mb。 azure 中的查询执行摘要未显示任何有问题的查询。

我忘了提到 SQL Azure Db 对 SQL Server Manager 或本地 .Net Web App 的反应非常灵敏

我尝试了 jtds jdbc 驱动程序和 MS JDBC 驱动程序 4.0,两者都具有数据加密功能。我尝试了人群提供的两种sqlDialect。它一直非常缓慢。

我尝试按照 MS JDBC 4.0 驱动程序的说明为 Azure 设置特殊注册表项(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\KeepAliveTime、KeepAliveInterval、TcpMaxDataRetransmission)

也许它来自:

  • 事实上我没有从 Azure 上的人群完成的干净设置开始(因为聚集索引问题)
  • Sql Azure 使用 utc 时间,使“某物”每次都过期。

如果有人对这个问题有建议,我会很高兴。

【问题讨论】:

    标签: azure-sql-database atlassian-crowd


    【解决方案1】:

    抱歉 - 我没有直接使用 Crowd 的经验。

    我可能会遇到麻烦,但是当应用层非常健谈(或非常笨重)时,远程安装的客户端应用程序有 9 次未能通过针对 SQL 数据库的基本性能测试(现在就是这种方式),每个屏幕/功能都有数十次或更差的往返,或者一直返回所有记录。这通常发挥作用的原因是由于 SQL 数据库远离网络链接,该网络链接通常比本地网络慢,而且在此之上,流量始终是加密的(意味着有更多的数据包要转移)。

    除了用更好的设计重写应用程序之外,解决此类问题的唯一方法是尝试将 Crowd 控制台部署在云中的 VM 中,与 SQL 数据库实例位于同一数据中心。那时,您的控制台将与您的数据库在同一个网络上,如果我的理论成立,它应该会快得多。

    【讨论】:

    • 感谢您的回答 Herve。考虑到 OOTB 不支持 Azure SQL 数据库,我将很难证明将整个人群实例迁移到 Azure 的合理性。我将为缺少的聚集索引输入一个 Atlassian 请求,该索引会阻止全新安装。令我惊讶的是我的数据库非常小。我读到 sys.dm_exec_connections 可以帮助监视连接的打开和关闭。也许我会这样最后看看。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-05
    • 2012-05-30
    相关资源
    最近更新 更多