ARTIFACTORY: How to troubleshoot slow disk speeds for Artifactory during performance issues

ARTIFACTORY: How to troubleshoot slow disk speeds for Artifactory during performance issues

AuthorFullName__c
Pranav Hegde
articleNumber
000006209
ft:sourceType
Salesforce
FirstPublishedDate
2024-10-21T12:39:33Z
lastModifiedDate
2024-10-28
VersionNumber
5
When encountering performance issues with JFrog Artifactory, it's essential to investigate the speed of the disks attached to the Artifactory instance. Disk speed can significantly affect performance, especially during peak usage times. This article outlines the steps to check disk speed and diagnose potential issues.

Importance of monitoring disk speed

Performance degradation in Artifactory can often be traced back to slow disk operations. Common symptoms include:

- Increased artifact retrieval times.
- Delays in build processes.
- Timeout errors during high traffic.

By assessing disk speed, you can determine if storage performance is a contributing factor to these issues.

Steps to check disk speed during an issue

Method 1: Using `iostat` (Linux)

1. Open Terminal : Access your Artifactory server.
2. Install `sysstat` package:
   sudo apt-get install sysstat  # For Debian/Ubuntu
   sudo yum install sysstat      # For RHEL/CentOS

3. Run `iostat` to Monitor Disk Activity:
   iostat -x 5

This command provides detailed statistics about disk I/O every 5 seconds.

E.g:
Linux 5.4.0-72-generic (hostname)     10/17/2024  _x86_64_        (4 CPU)

Device            rrqm/s   rsec/s   %rrqm    wrqm/s   wsec/s   %wrqm    r/s    rsec/s   w/s    wsec/s   avgrq-sz   avgqu-sz   await  svctm  %util
sda               0.00     0.00     0.00      0.00     0.00     0.00    0.00     0.00    0.00     0.00      0.00       0.00      0.00    0.00    0.00
sdb               1.00    12.00     0.10      1.00    24.00     0.20    1.00    12.00    1.00    24.00     24.00       0.20      20.00   10.00   50.00
sdc               0.00     0.00     0.00      0.00     0.00     0.00    0.00     0.00    0.00     0.00      0.00       0.00      0.00    0.00    0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           10.00    0.00    5.00    2.00    0.00   83.00

4. Analyze the Output: 

    Focus on the following columns:

   - %util : Percentage of time the disk is busy. High values indicate a saturated disk.
   - r/s and w/s : Read and write requests per second.
   -  await : Average time (in milliseconds) that I/O requests take to be processed.

 Method 2: Checking Disk Logs

1.  Review System Logs: Check system logs for disk-related errors. You can use:
   dmesg | grep -i error
   
   or

   tail -f /var/log/syslog  # Debian/Ubuntu
   tail -f /var/log/messages # RHEL/CentOS

2. Look for Issues: Identify any disk failures, timeouts, or errors that may indicate underlying problems.
Sample output for dmesg | grep -i error:
[    1.234567] sd 1:0:0:0: [sda] Tagging command error.
[    1.234789] EXT4-fs (sda1): I/O error while writing superblock
[    5.678910] Buffer I/O error on dev sdb1, logical block 123456
[   10.123456] ata1.00: failed command: WRITE FPDMA QUEUED
[   10.123789] end_request: I/O error, dev sda, sector 12345678


Guidelines for interpretation

- High %util : If the %util is consistently above 80%, this may indicate that the disk is a bottleneck.

- High await times : If the await time exceeds 10ms, you may be facing performance issues.

- Compare Metrics : Compare disk metrics during the issue timeframe against normal operating conditions to identify discrepancies.


Recommended actions

1.Identify Bottlenecks: If disk speed is low, consider upgrading to SSDs or optimizing your RAID configuration.
2. Monitor Continuously: Implement monitoring tools to keep track of disk performance metrics over time.
3. Investigate Disk Health: Use tools like `smartctl` to check the health of the disks:
   sudo smartctl -a /dev/sdX  # Replace sdX with your disk identifier


Conclusion

Monitoring and checking the speed of disks attached to Artifactory is crucial for diagnosing performance issues. By following the steps outlined in this article, you can identify whether disk speed is contributing to any problems and take appropriate actions to resolve them.
You can refer to this link for more information on JFrog Platform: Reference Architecture.