CPU Bottleneck

Also known as: CPU limit, processor bottleneck

The ceiling reached when a processor cannot keep up with TLS encryption, yEnc decoding, and PAR2 arithmetic at line speed. Low-power NAS boxes and single-board computers meet it first, often flattening out at a few tens of megabytes per second with the processor pinned. Hardware with AES acceleration removes most of the encryption cost; fewer connections and disabling direct unpack relieve the rest.

A processor limit has a recognizable shape: a ceiling that does not move. It is the same at three in the morning as at nine in the evening, the same against a different server, the same on a different release, and it does not improve when connections are added. Past that point extra connections make matters slightly worse, since each one carries its own session state and decode work on a processor that has nothing left to give.

Hardware that meets this ceiling

Desktop and laptop processors of the last decade carry hardware AES instructions, which reduce the cost of encrypted transfer to something close to noise; a modern machine will saturate a gigabit line over NNTPS without noticing. The devices that struggle are single-board computers, entry-level NAS units built on low-power ARM or Atom-class chips, consumer routers running a download client, and virtual machines allocated a single core. On those, a flat figure in the low tens of megabytes per second with one core saturated is the expected result rather than a defect.

The test that confirms it

A process monitor open during a download, showing load per core rather than an average, settles the question in under a minute. One core at one hundred percent while the rest idle means the client is single-threaded on the work that matters and the ceiling is local. Disabling SSL on one server entry briefly and comparing the resulting speed isolates encryption specifically: a large jump means the processor lacks AES acceleration. That test should be reversed afterwards, since an unencrypted session exposes article requests to anything on the path. If neither reading moves, the ceiling is elsewhere: a disk limit tracks post-processing rather than the download, and an upstream limit varies by hour and by server.

Work that is not encryption

Encryption is only the most visible cost. Every article is yEnc-decoded and CRC-checked as it lands. PAR2 verification computes over the whole set, and repair performs Reed-Solomon arithmetic that is heavy by design. Decompression during unpack is a third demand. Direct unpack overlaps extraction with downloading, which is a good trade on capable hardware and a poor one on a board that was already at its limit. Filesystem overhead adds to the total where the destination is a network share rather than local storage.

What actually reduces the load

Lowering the connection count to the smallest number that still fills the available throughput removes per-session overhead. Turning direct unpack off keeps extraction and downloading from competing. Setting PAR2 checking to run only when damage is detected avoids verifying releases that arrived intact. Restricting the client to one post-processing job at a time prevents two repairs from sharing one core. Where none of that is enough, the ceiling is the hardware, and moving the client, or at least its post-processing, to a machine with AES support is the change that removes it.

Frequently asked questions

Almost always the processor rather than the network. Low-power boards handle TLS, yEnc decoding, and PAR2 arithmetic in software, and a single core saturates well below a fast line rate. The confirming check is one core pinned at full load while the others idle. Reducing connections and disabling direct unpack helps a little; the ceiling itself is the hardware.
On NAS units without AES hardware acceleration, noticeably. Encryption is then computed in software on a processor already handling decoding and repair. On a NAS with a modern x86 chip the cost is negligible. Comparing throughput with encryption briefly disabled shows how much of the ceiling belongs to TLS before deciding whether the hardware needs replacing.
Watch processor load per core during a download. A pinned core with a flat, unvarying speed points at the local machine. A provider or route problem varies with the hour, differs between servers, and leaves the processor mostly idle. Connection count is the other check: if adding connections changes nothing while a core is saturated, the limit is local.

Browse all terms in Errors & Troubleshooting, or see the full Usenet glossary.

Put it into practice with the world's best usenet service