Confluence 6 高级性能诊断

请在你的系统服务请求中包括下面全部的信息,若是可能的话,你也能够在请求中包括你认为最有可能出现的问题。这样的话,能够避免咱们进一步对你系统的问题进行询问。html

系统信息

Confluence 服务器

  • 你系统信息的屏幕截图 Confluence's Administration → System Information (或者将页面保存为 HTML 文件)
  • 系统缓存状态的屏幕截图 Confluence's Administration → Cache Statistics (或者将页面保存为 HTML 文件)
  • 找到你 Confluence 运行服务器的硬件配置信息
    • 有几个 CPUs?CPU 的型号是什么,有多少 MHz?
    • 你的服务器上装了多少内存?
    • 在 Confluence 的 JVM 使用了多少服务器的内存?(例如在 JVM 中 -Xmx 和 -Xms 的设置)
    • 在一样的服务器上,你还运行了一些其余的什么服务?

Confluence 内容

  • 在你的 Confluence 中有多少注册用户?
  • 在一般的状况下,你的用户会属于多少用户组?
  • 在你的 Confluence 服务器中有多少空间(全局和我的用户)?
  • 平均来讲对一个用户能够查看到多少空间?
  • 在i的 Confluence 中有多少页面(你能够在你的数据库中执行下面的 SQL 来进行查看:'select count(*) from content where prevver is null and contenttype = 'PAGE'
  • 在 Bandana  中存储了多少数据(一般被插件来使用存储数据)?(你能够在你的数据库中执行下面的 SQL 来进行查看:'select count(*), sum(length(bandanavalue)) from bandana')

数据库

  • 你 Confluence 服务器使用的数据库的版本?
  • 你 Confluence 访问数据库服务器使用的 JDBC 版本?(针对一些数据库,数据库驱动的 JRA 中中版本的版本号)
  • 你的数据库与 Confluence 服务器是否在同一个服务器上?
  • 若是数据库服务器和 Confluence 服务器在不一样的服务器上,那么网络配置是怎么样的?
  • 有关数据库链接细节是什么?数据库的链接池有多大?若是你使用的是标准配置,你能够在 _cfg.xml 文件中找到这个配置信息。若是你使用的是数据源信息,那么这个信息将会存储在你应用服务器上的配置文件中。请得到这些配置信息。

用户管理

  • 你当前正在使用的用户管理或受权?(例如,Jira 或者 LDAP 用户目录或者单点登陆)
  • 若是你使用的是外部 JIRA 用户管理,那么在 Confluence 和 JIRA 之间的数据库是如何进行配置的?
  • 若是你使用的是 LDAP 管理:
    • 有关 LDAP 服务器的版本是什么?
    • LDAP 服务器和你的 Confluence 应用之间的配置是什么样的?

诊断

观察到的问题

  • 那个页面存在载入缓慢?
    • 若是是一个特定的 WIKI 页面,请将这个 WIKI 页面中的源代码也同时提交
  • 这个页面老是载入缓慢仍是偶尔载入缓慢?

监控数据

在进入发现一个单独的问题的时候,对理解多个性能问题会有所帮助。咱们将会处理忽然的的高负载,或者缓慢增长的负载,或者有多是某一种特定状况下的负载状况(天天,每周,甚至每月),这些请求的增长将会对系统性能形成多大的影响?对系统进行一些持续的监控将有助于你对系统的负载状况进行更多的了解。sql

下面是一些有关 confluence.atlassian.com 系统的负载状况,显示以下数据库

负载
这个图片显示了连续 2 天中的系统负载状况。这个图片显示了正常的系统负载,这个负载的产生一般是由于用户的活动而产生的,这个没有显示出系统目前没有遇到主要的问题。
缓存

增长数据库链接的线程服务器


Java 活动线程数量网络

有 2 个图片将会显示应用服务器中线程活动数量(第一个图片)和数据库中链接池的大小(第二个图片)。你能够看到忽然的系统线程增长将会致使数据库服务器的链接的增长。性能


数据库链接池大小spa

数据库链接池的最高值已经超过了 112。这个已经超过了默认的数据库的链接配置(100)。当这个状况出现时候,你在使用 Confluence 的时候出现一些访问的缓慢就不奇怪了。一些用户可能会遇到系统崩溃的信息,由于一些用户的请求不能得到数据库链接。操作系统

咱们能够经过这些图片很容易的找到咱们系统配置的一些问题。这些问题不是很是重要的问题,由于你能够经过简单的增长数据库链接来解决。.net

咱们对 Confluence 进行一些持续的监控(咱们使用 Hyperic),若是你在遇到问题的时候可以同时发送你系统的一些监控信息,这个将更有助于帮咱们找到你的问题。

访问日志

  • How to Enable User Access Logging,包括有了如何将日志导出为一个独立文件的相关信息。
    • 你能够将这些对这些文件进行分析,例如 AWStats,或者手动查看那些页面在载入的时候存在载入缓慢。

属性和日志

  • 启用 Confluence 的自带的属性和性能分析,请参考页面 Troubleshooting Slow Performance Using Page Request Profiling 中的内容。
    • 若是只是一个单一的页面相应缓慢,你应该对这个页面进行一系列的请求
    • 若是性能问题是间歇性的出现,或者只是直观的感受到了系统相应缓慢,你可使性能监控功能保留监控 30 分钟到一个小时来得到更多有关的信息。
  • 找到 Confluence 的标准输出日志(在日志中将会保留上面的数据)。将整个日志目录进行压缩。
  • 在系统出现反应缓慢的时候进行 Take a thread dump

CPU 负载

  • 若是你遇到了 CPU 的负载率很高的话,请 install the YourKit profile 而后将 CPU 进行监控的时候附加上 2 个 profiler 的导出。若是 CPU 的查看足够长的话,请间歇 30 到 60 秒进行 profiles。最一般的的 CPU spikes 应该是操做系统的虚拟机。
  • 若是 CPU 的使用率高达 100%,请尝试使用 Live Monitoring Using the JMX Interface,在一些状况下也可使用 Top threads plugin

站点指标和脚本

  • 对你安装实例了解用户的访问和使用也是很是重要的。请使用 Access Log Scripts 和 sql scripts 来为你的示例建立状态状况。

下一步

在 https://support.atlassian.com 中打开问题提交请求,而后将你收集的全部数据添加到你须要的请求中。这个将会给咱们对你系统进行诊断所须要的足够信息,咱们能够根据你提交的信息对你的系统性能进行诊断。当你建立完成问题后,请对你建立的问题进行跟踪。

 

https://www.cwiki.us/display/CONF6ZH/Requesting+Performance+Support

相关文章
相关标签/搜索