confluence6高级性能诊断(代码片段)

huyuchengus huyuchengus     2023-01-01     780

关键词:

请在你的系统服务请求中包括下面所有的信息,如果可能的话,你也可以在请求中包括你认为最有可能出现的问题。这样的话,可以避免我们进一步对你系统的问题进行询问。

系统信息

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 页面中的源代码也同时提交
  • 这个页面总是载入缓慢还是偶尔载入缓慢?

监控数据

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

下面是一些有关 confluence.atlassian.com 系统的负载情况,显示如下

负载
这个图片显示了连续 2 天中的系统负载情况。这个图片显示了正常的系统负载,这个负载的产生通常是因为用户的活动而产生的,这个没有显示出系统目前没有遇到主要的问题。
技术分享图片

增加数据库连接的线程

技术分享图片
Java 活动线程数量

有 2 个图片将会显示应用服务器中线程活动数量(第一个图片)和数据库中连接池的大小(第二个图片)。你可以看到突然的系统线程增加将会导致数据库服务器的连接的增加。

技术分享图片
数据库连接池大小

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

我们可以通过这些图片很容易的找到我们系统配置的一些问题。这些问题不是非常重要的问题,因为你可以通过简单的增加数据库连接来解决。

我们对 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

confluence6站点高级自定义(代码片段)

你可以继续编辑的全局布局文件来继续更新你的主面板。请查看CustomizingtheConfluenceDashboard页面来获得更多有关的信息。你需要具有一些基本的Velocity知识来进行编辑和处理。你有2个地方可以添加内容:Webpanels添加到atl.dashboard.seco... 查看详情

confluence6识别慢性能的宏(代码片段)

PageProfiling 给你了有关页面在载入的时候操作缓慢的邪教,你可以将下面的内容添加到调试(debug)级别:Version3.1及其后续版本设置包名字为 com.atlassian.renderer.v2.components.MacroRendererComponent 到DEBUG级别。你可以在管理(A... 查看详情

confluence6布局高级自定义(代码片段)

重载Velocity模板velocity目录是ConfluenceVelocity模板文件进行搜索时候需要的文件夹。例如,你可以通过将你的Velocity文件使用正确的文件名放置到正确的路径。我们不建议对你的Confluence站点进行这样的操作,除非你明确知道你在进... 查看详情

confluence6ldap高级设置(代码片段)

 启用嵌套组(EnableNestedGroups)为嵌套组启用或禁用支持。一些目录服务器能够允许你在一个组中定义另外一个组。在这种结构下的用户组称为用户组嵌套。嵌套组的配置能够让子用户组继承上级用户组的权限,是系统的权限... 查看详情

confluence6自定义decorator模板的宏和针对高级用户(代码片段)

宏页面的某些部分使用的是Velocity 宏进行创建的,包括导航栏。有关宏的创建,你可以参考页面WorkingWithDecoratorMacros页面中的内容。针对高级用户velocity目录是Confluence首先进行模板搜索的查找路径。你可以对Confluence的 velo... 查看详情

confluence6自定义decorator模板的宏和针对高级用户(代码片段)

宏页面的某些部分使用的是Velocity 宏进行创建的,包括导航栏。有关宏的创建,你可以参考页面WorkingWithDecoratorMacros页面中的内容。针对高级用户velocity目录是Confluence首先进行模板搜索的查找路径。你可以对Confluence的 velo... 查看详情

在启用属性的情况下启动confluence6(代码片段)

在一些情况下,你可以希望Confluence在系统启动的时候就对属性文件进行打印。如果你的Confluence经常进行重启,并且你可能忘记来启动针对系统诊断的属性文件日志开关。编辑 CONFLUENCE_HOMEconfluenceWEB-INFweb.xml 文件。你应该... 查看详情

confluence6缓存性能优化

Confluence的运行状态与缓存状态有这密切的关系。针对Confluence的管理员来说,尤其是大型站点的Confluence管理员,设置好缓存尤其显得关键。希望修改缓存的大小:进入  > 基本配置(GeneralConfiguration) > 缓... 查看详情

mysqlshowprofiles性能跟踪诊断工具(代码片段)

前言Showprofiles最大的好处是可以查看执行sql语句时各个环节的执行时间,Showprofiles是5.0.37之后添加的,要想使用此功能,要确保版本在5.0.37之后。可以执行sqlselectversion();查看当前数据库版本。开启profiling启动数据库... 查看详情

linux常用性能诊断命令详解(代码片段)

toptop命令动态地监视进程活动与系统负载等信息。使用示例:top效果如下图:以上命令输出视图中分为两个区域,一个统计信息区,一个进程信息区。统计信息区:第一行信息依次为:系统时间、运行时间、登录终端数、系统负... 查看详情

linux常用性能诊断命令详解(代码片段)

toptop命令动态地监视进程活动与系统负载等信息。使用示例:top效果如下图:以上命令输出视图中分为两个区域,一个统计信息区,一个进程信息区。统计信息区:第一行信息依次为:系统时间、运行时间、登录终端数、系统负... 查看详情

mysql性能调优与诊断(代码片段)

*本篇随笔为《涂抹MySQL》一书的阅读摘抄,详细请查看正版书籍  关键性指标IOPS(Input/OutputoperationsPerSecond)每秒处理的I/O请求次数需要说明的一点,通常提到磁盘读写能力,比如形容它每秒读300M写200M这个说的是数据吞吐... 查看详情

超全的linux性能诊断分析工具(代码片段)

点击上方关注“终端研发部”设为“星标”,和你一起掌握更多数据库知识来源:http://t.cn/Ehs6xfz出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章。本文也可以作为检验基础知识的指... 查看详情

confluence6嵌套用户组的备注(代码片段)

潜在的性能影响。启用嵌套用户组可能会减慢用户查找的速度。在LDAP中定义嵌套用户组。在LDAP中,一个嵌套用户组是DN(DistinguishedName)的子用户组,这个字用户组将会继承上级用户组的所有属性。例如,一个上级用户组GroupOne... 查看详情

confluence6嵌套用户组的备注(代码片段)

潜在的性能影响。启用嵌套用户组可能会减慢用户查找的速度。在LDAP中定义嵌套用户组。在LDAP中,一个嵌套用户组是DN(DistinguishedName)的子用户组,这个字用户组将会继承上级用户组的所有属性。例如,一个上级用户组GroupOne... 查看详情

mysql的诊断利器——mysqlshell8.0.31的诊断实用程序(代码片段)

MySQLShell诊断实用程序能够分析MySQL服务器的性能,并能够生成运行状况、性能和单个查询的诊断报告。注意,这是MySQLShell在8.0.31提供的新功能,用户必须使用8.0.31之后的版本。诊断工具包括三个:util.debug.collectDia... 查看详情

java死锁性能分析(代码片段)

java故障诊断案例分析:死锁瓶颈(性能分析)只要是java程序,都可以使用这种方式来分析性能的瓶颈1.Dump信息查看Threaddump信息对于性能诊断非常有用kill命令使用kill:杀死一个进程?-9:强制杀死一个进程?-3:打印进程的Threaddump信息linux系... 查看详情

spark性能优化指南——高级篇(代码片段)

Spark性能优化指南——高级篇2016年05月12日 作者:李雪蕤 文章链接 23095字 47分钟阅读继基础篇讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入... 查看详情