How Ca Navigator Service Be Tuned To Improve Performance
This best practice guide is for sysadmins who are looking to proceeds a clearer view of what's happening in their instances and get the most out of Atlassian Back up. We will describe what we consider the best tools for monitoring and analyzing diagnostic data produced by Atlassian products and show you the best way of getting this information to the Atlassian Back up team. This guide is segmented by the diagnostic artifact that is produced, and goes into detail on which tool is recommended and how to all-time use this tool.
The KB articles linked in this document may refer to a specific production, but the techniques described are universal.
Below is a rough guide to when these tools are most likely to be of utilise, based on the trouble you are experiencing.
Whole instance is wearisome
Thread Dumps, Garbage Drove Logs, Database Profiling, CPU Profiling, Disk Speed, Admission Logs, Page (Awarding) Profiling
Whole example is unresponsive
Thread Dumps, Garbage Collection Logs, Database Profiling, CPU Profiling, Disk Speed, Access Logs, Page (Application) Profiling
Specific functions in the awarding are deadening
Thread Dumps, Garbage Drove Logs, Database Profiling, CPU Profiling, Client Side Diagnostics, Folio (Application) Profiling
Application server is overloaded (but database server appears fine)
Thread Dumps, Garbage Collection Logs, CPU Profiling, Disk Speed, Access Logs, Page (Application) Profiling
Database server is overloaded (but application server appears fine)
Thread Dumps, Database Profiling
OutOfMemory errors or high memory usage
Heap Dump, Garbage Drove Logs
When to generate thread dumps
Thread dumps are the most useful tool for investigating performance problems. If an instance is wearisome or experiencing outages, a thread dump give us a snapshot of what is going on in the instance at exactly that fourth dimension. A sequence of thread dumps allows us to look at what is going on in over time in an example. A thread dump reveals if there is some performance event with the awarding code itself, which is nigh often where functioning issues are found. Thread dumps besides oft reveal what other diagnostic artifacts are required.
There's no hard and fast rule as to the quantity and timing of thread dumps that should be created, just as long as they are taken at regular intervals over a period when the instance is performing poorly, they volition be useful. For example, a total of 6 thread dumps, one taken every 30 seconds is a mutual format used in Atlassian Support.
Which tool to utilize
For generating thread dumps, please follow the instructions in Generating a Thread Dump. We recommend using the method in Troubleshoot Jira Server performance with thread dumps if using Linux, as the output of the CPU % tin be correlated to a thread.
For processing thread dumps, The Atlassian Support squad uses and recommends TDA.
TDA tin exist used to place long running threads, lock congestion or contention and get an overall understanding of what the threads of an instance are doing.
When to generate a heap dump
A heap dump is useful when the instance is running out of memory and the common causes have already been addressed. A heap dump gives us a breakdown of all the objects that exists in the java heap at the fourth dimension information technology was taken. It'south important to lower the size of the heap as much every bit possible before creating a heap dump, equally a very large heap can arrive harder to analyse as significant resources are required for large heap dumps. A heap dump tin likewise be useful in conjunction with garbage drove logs.
Which tool to use
For generating heap dumps, delight follow the instructions in Generating a Heap Dump. Heap dumps tin can be configured to be automatically generated when an instance runs out of memory, or can exist run manually. However, if a heap dump is not generated when an OutOfMemoryError is thrown, it is generally not at all useful.
For processing heap dumps, The Atlassian Support team uses and recommends Eclipse MAT.
Eclipse MAT's dominator tree - right clicking on a thread and selecting Java Basics > Thread Stacks on the threads that are using the largest amount of heap will quickly and easily let you come across the stack trace of that thread. More than data tin can exist found in the MAT Documentation.
When to generate GC logs
Is Confluence condign completely unresponsive for a while, and then recovering without whatever changes being made? General slowness that hasn't been attributed to the code itself (via thread dumps)? Perhaps the instance is consuming also much retentiveness. If any of the above, yous may be experiencing garbage drove problems. Our Garbage Drove (GC) Tuning Guide provides expansive particular on this, but in cursory, the three performance goals of garbage drove is to affect the following:
- Reduce Latency - Pauses induced by the JVM every bit it performs GC
- Improve Throughput - The percentage of clock time the JVM has available for the actual application
- Reduce Footprint - The heap size
Which tool to employ
To generate GC logs, delight follow the instructions in How to Enable Garbage Collection (GC) Logging.
For processing GC logs, Atlassian Support uses and recommends GCViewer.
GCViewer displaying some partial GCs over the first minute later on startup. For data on what the lines mean, click theView menu button.
When to use database profiling
Is the CPU of your database server maxing out, just your application's server running normally? Does a thread dump reveal that in that location are many long running threads waiting for a connection to the database? If so, we can use database profiling to examine where fourth dimension is spent during query execution in the database.
Which tool to utilise
See CPU profiling tools below. Additionally JProfiler tin be used equally detailed in Utilize jProfiler to analyse Jira application performance.
When to utilise CPU profiling
Running the 'top' control shows loftier CPU usage on the awarding server, and Confluence is running slowly. This is frequently used in conjunction with thread dumps to examine which office of the thread dump is consuming the CPU.
Which tool to use
There are many options available here. This may depend on what your visitor already has configured, but some expert options are:
- JProfiler
- New Relic
- Dynatrace
- VisualVM
- YourKit
For Linux based instances, Troubleshoot Jira Server operation with thread dumps includes a method of generating CPU profiling information without any paid tools.
JProfiler in activeness - hither we tin see that the permission checking is the near expensive CPU operation that was profiled.
When to bank check the customer side information
If your application is seeing performance bug, simply it isn't attributable to the backend (as diagnosed by other tools such as thread dumps) it'southward useful to get information from your browser. Namely, the network information, and panel logs, to look for any errors in the front end.
Which tool to employ
Any browser's developer tools are capable of providing the information required, but Atlassian Support prefers Chrome due to the Chrome HAR viewer. This depends upon how the information is generated - different browsers have dissimilar means as in Generating HAR files and analyzing web requests.
How to generate client side diagnostic information
- Open the Chrome developer toolbar (Correct click on any empty infinite of chrome window, choose *Inspect Element* or run into other fashion of opening the tool at this folio).
- Go to the Network tab (run into example here). Clear all the existing text in the Network tab if there's whatsoever by clicking the remove icon next to the red circumvolve icon at pinnacle correct corner of the developer tool window.
- Perform whichever operation is boring.
- In that location will be some requests logged into the network window. Salvage this information to a HAR file. Instructions for this.
- Also open the *console tab* to encounter if in that location is any errors in the output (how to work with the console).
- Save the text outputted past the console to a file.
At the stop of this we should have 2 files: ane HAR file for the network request and i log file of the panel output.
The information the Chrome network tab captured equally I loaded the dashboard of Confluence
Proxy bypassing
Slowness issues with some specific Confluence functionality can sometimes be caused by problems with the example's configured proxy.
To troubleshoot this, it's recommended to endeavor bypassing the proxy, by accessing Confluence direct through the server's IP accost.
This can be done through either of these methods, depending on how the current network construction is configured:
- How to featherbed a proxy to test network connectivity
- How to bypass a reverse proxy or SSL in Application Links
While performing this test, it'due south oftentimes useful to generate another HAR file, equally described above, to compare details between the two sets of proxied and non-proxied network requests.
When to cheque the disk speed
If your application is irksome and the following areas in of the application in particular are performing poorly, then it's advisable to check disk speed:
- Reindexing
- Searching
- Attachments
- The Consequence Navigator (in JIRA)
Which tool to use
This is some other internal tool. Although listed for JIRA, this volition piece of work for any Atlassian application.
Disk speed for a local example
When to cheque the access logs
Access logs are a cracking fashion of seeing general patterns in the usage of an instance. Information technology can be a good way of finding if a particular Remainder endpoint is being heavily accessed, or if there is some automation causing too many requests.
Enabling access logs
For JIRA: User Access Logging
For Fisheye/Crucible: Enabling Access Logging In Fisheye
For Confluence: How to Enable User Admission Logging
For Bitbucket Server: N/A (always on)
Which tool to use
For JIRA: HTTP Requests Log Analyser
For Bitbucket Server (formerly known as Stash): Atlassian Stash and Bitbucket Server access log parser
Page Profiling
When to use page profiling
If a detail folio or piece of functionality is performing poorly, folio profiling can be used to help determine which method is responsible for this slowness, past displaying the fourth dimension taken to execute each method. For general slowness, other methods are more useful.
Which tool to apply
This is an built-in tool for JIRA and Confluence.
- For Confluence: Troubleshooting Slow Performance Using Page Request Profiling
- For JIRA: JIRA - Profiling
The General Configuration page of Confluence Admin
Source: https://confluence.atlassian.com/kb/best-practices-for-performance-troubleshooting-tools-652444218.html
Posted by: jacksontallay.blogspot.com

0 Response to "How Ca Navigator Service Be Tuned To Improve Performance"
Post a Comment