0

I've followed closely the manual on NGINX blog. This works flawlessly on my machine, with an AMD Ryzen PRO 4750G. The output for a 5GB file using curl on https://localhost is twice as fast with kTLS, which is neat.

I've duplicated the same configuration options on my server that has a much less powerful CPU (Intel Atom D2550), but the system doesn't want to use kTLS, there is nothing in the debug log. So I'm wondering if there is some hardware requirements in the CPU, undocumented? The kernel documentation doesn't seem to mention any.

Adrien Clerc
  • 291
  • 3
  • 9

1 Answers1

1

If I understand your question properly then the issue isn't with the CPU but with the NIC in your systems - the NIC itself needs to support kTLS offload, not all do.

Chopper3
  • 101,299
  • 9
  • 108
  • 239
  • Yes, maybe, that's also an option. However, in my "local" test, it doesn't use the NIC, since it's on localhost, so it can only be bound to CPU features. – Adrien Clerc Jan 06 '23 at 14:46
  • Well if it's on localhost then the CPU's performance becomes incredibly important - and a 4750G is a hell of a lot more performant than an Atom D2550 - that's the issue. – Chopper3 Jan 06 '23 at 16:04
  • Yes, but if it wasn't clear enough: without kTLS on localhost, I got ~750MB/s. With kTLS on localhost, I've got 1200MB/s, and the debug log shows that it's used. It's not the case on my Atom, and I'm looking for a reason. But I'm about to test on my AMD 4750G with the real NIC (and not localhost) – Adrien Clerc Jan 07 '23 at 13:41
  • I tested a connection from another client to my computer, and indeed, the kTLS benefit is here: the CPU is much less used on my AMD 4750G with kTLS. – Adrien Clerc Jan 07 '23 at 22:39