NZBGet Performance Optimization Guide

NZBGet is one of the fastest and most resource-efficient Usenet download clients. But to truly maximize its potential, especially on high-speed connections or underpowered devices, you may need to tweak its configuration.

This guide outlines NZBGet performance optimizations to help you improve speed, reduce resource use, and prevent slowdowns during unpacking or queue processing.

1. Use the Latest Version of NZBGet

Every release of NZBGet includes performance fixes and improved handling of Usenet articles and post-processing. Before making any other changes, confirm you’re running the latest version.


2. Match Connections to Your Usenet Plan

NZBGet works by opening multiple simultaneous connections to your Usenet server. More connections can improve speed — up to a point.

  • Go to Settings > News-Servers
  • Set the Connections value to your provider’s max
  • If your CPU usage spikes or your speed drops, try lowering it

Tip: Some systems perform better with fewer connections, especially if disk I/O is the limiting factor.


3. Enable DirectWrite (For Fast Local Storage)

DirectWrite allows NZBGet to bypass memory caching and write data directly to disk, reducing CPU usage and improving throughput, especially on SSDs or fast internal drives.

⚠️ Note: DirectWrite relies on sparse file support, which is available in most modern filesystems. However, older systems like HFS+ do not support it. If your filesystem lacks sparse file support, DirectWrite may not function correctly.

  • Go to Settings > Download Queue
  • Set DirectWrite to yes

Avoid using DirectWrite if your MainDir points to a network share or USB drive.

Tip: DirectWrite and ArticleCache are closely related and can work well together. In fact, ArticleCache performs best when DirectWrite is enabled, as it allows for efficient writing of cached data directly to disk.

If using ArticleCache, set a modest size (e.g., 50–200 MB) depending on available RAM. Setting it too high or using mismatched configurations may reduce performance.


4. Adjust Article Cache Settings

The ArticleCache setting controls how much RAM is used to temporarily store article data before writing it to disk.

  • Go to Settings > Download Queue

General Guidance

The article cache can significantly improve performance by reducing disk operations and fragmentation. Less fragmentation speeds up post-processing (like unpacking).

  • When DirectWrite is enabled, even a small cache (50–100 MB) can be effective.
  • When DirectWrite is disabled, the cache should be large enough to hold an entire article group—typically up to 200 MB, sometimes 500 MB — to avoid fallback to temporary directories, which degrades performance.
Available RAMRecommended ArticleCache
Low (<1GB)0
Moderate (1–2GB)200
High (4GB+)1000
  • Value 0 disables the article cache entirely.
  • In 32-bit mode, the maximum allowed value is 1900.

5. Configure WriteBuffer (Optional Advanced Setting)

The WriteBuffer setting controls the per-connection buffer used by the operating system when writing articles to disk.

Larger values can reduce disk operations and file fragmentation, which improves post-processing speed.

  • Go to Settings > Download Queue
  • Set WriteBuffer to 1024 (recommended for systems with sufficient memory)

Tip: To calculate the total memory usage:
WriteBuffer × number of connections (set under News-Servers)

  • Value 0 disables this setting and defaults to the OS/compiler’s buffer size, which is often too small (1–4 KB) and suboptimal for performance.
  • Note: This setting is OS-dependent and may have varying effects based on your system.

6. Optimize Unpacking Performance

Unpacking can block NZBGet from processing the next queue item—especially if it’s configured to pause the queue or use inefficient tools.

Recommended settings (Settings > Unpack):

  • UnrarCmd = unrar
  • SevenZipCmd = 7z
  • UnpackPauseQueue = no (lets downloads continue during unpacking)

Also check these options :

  • ParPauseQueue = no (lets transfers continue during check/repair)
  • ScriptPauseQueue = no (lets transfers continue during executing of postprocess-script)

Tip: Users with limited CPU can disable “ParRepair” in Settings > Check and Repair, but it’s not recommended in other cases.


7. Disable TLS (Optional – for Testing Only)

If you’re using an SSL/TLS connection (usually on port 563 or 443), your CPU must encrypt and decrypt traffic, which can reduce speeds on older systems.

  • Switch to the non-SSL port (usually 119) temporarily for comparison
  • Only do this on trusted networks, as traffic will be unencrypted

Tip: For most users, SSL should remain enabled. This step is for diagnosing CPU-related slowdowns only.


8. Avoid Slow External Drives

If your download path is set to a USB drive or network share (e.g., mounted NAS folder), disk I/O may be the bottleneck.

Recommended Solutions:

  • Use a fast internal drive (preferably SSD) for MainDir.
  • Only move completed items to the network share during post-processing.

For High-Performance Systems:
If you have a fast Internet connection and powerful hardware:

  • Place InterDir on a fast disk—SSD.
  • Keep InterDir and DestDir on separate physical drives if possible to reduce contention and improve throughput.

9. Reduce Logging and Debug Output

Excessive logging slows NZBGet down during unpacking and repair operations.

Go to Settings > Logging and adjust the following:

  • DetailTarget = None
  • LogBuffer = 20
    This limits the number of log entries stored in memory before being flushed.
  • WriteLog:
    Choose based on your monitoring preference:
    • no – disables writing logs to disk (for minimal overhead)
    • rotate – NZBGet will write daily log files and retain them for the number of days specified by RotateLog

These settings reduce disk writes and CPU usage without sacrificing the ability to monitor performance—especially useful when paired with external monitoring tools.


10. Advanced System Tweaks (Linux Only)

⚠️ Note: This modification makes sense on low-end systems where NZBGet’s operation interferes with other processes.

⚠️ Note: Lowering the priority will also result in longer downloads (especially on a loaded system)

On Linux systems, you can reduce NZBGet’s system impact:

  • Set Nice level to 10 in Settings > SYSTEM
    (lowers CPU priority to favor other apps)
  • Use ionice to lower disk I/O priority: ionice -c3 nzbget

11. Optional: Use RAM Disks (Advanced Users Only)

If you want maximum unpack and processing performance:

  • Use a RAM disk for QueueDir, InterDir, or TempDir
  • This reduces write latency but may result in data loss after reboot
    ⚠️ Only attempt this if you’re comfortable with Linux administration.

12. Watch Logs and System Metrics

Monitoring is the best way to catch hidden issues:

  • Messages tab: Look for retries, timeouts, or unpacking delays
  • NZBGet logs: See nzbget.log for detailed behavior
  • System tools: Use htop, Task Manager, or similar to monitor CPU, RAM, and disk activity
  • Network: Check router/firewall logs for blocked or throttled connections

Quick Optimization Summary

  • Always run the latest version
  • Match your connection count to your provider and system
  • Configure DirectWrite and ArticleCache according to your setup possibilities
  • Optimize unpacking to reduce queue stalls
  • Avoid slow drives and reduce logging overhead
  • Monitor system metrics to stay ahead of performance issues

With these tweaks, NZBGet will achieve fast, stable performance—even on minimal hardware.

Introduction

Installation manuals

Building manuals

Configuration

Usage

Development

Extensions

News server setup

Other helpful guides

/js/scripts.min.js