Thread-per-request seems even more correct to me, given the increased cost of system-calls, now that Spectre and Meltdown fixes are in.
I've also done a lot of task-per-request (with each thread's affinity locked to a single hardware thread to avoid ripple effects), which does scale at least an order of magnitude more than threads.
I now use fiber-per-request for the best of both worlds: the easy sequential model of threads, yet the simple performance of tasks.
I can't understand why someone would defend the thread-per-request model at this point. It wasn't even a good model 10 year ago.