Sweet new response header will make things much easier. Is there a cache debug log feature ? Enable cache debug log and it will log and track the creation time/filename/path to the cached file in cache directory ?

So litespeed cache is more of a disk cache right ? Possible to have a memory cache version too ?

Looks like Litespeed cache still leading for small test.php file at least at 13-20K rps - nearly 2-5x times faster than litespeed no cache, or up to 2x times faster than apache + varnish defaults or litespeed + varnish defaults

Looks like Litespeed cache still leading for small test.php file at least at 13-20K rps - nearly 5x times faster than litespeed no cache, or up to 2x times faster than apache or litespeed with varnish defaults

Please upgrade to 4.0.19 if have not yet, and try again.
If still not working, need to enable debug logging and rewritelog to figure out what is wrong.
I wonder if .htaccess is working properly or not.

per your testing on 4.0.18, it looks like set
CacheRoot /lscache/
in httpd.conf is not same as setting CacheRoot at admin console.
and as I tested, without "CacheRoot /lscache/" in httpd.conf, but set it in admin console, rewriterule + cache will work. so it looks that
"CacheRoot /lscache/" in httpd.conf +
set "Cache Expire Time" in admin console can enable "rewriterule + cache"

this should not be designed behavior and complicated to users. please try 4.0.19 to see if this has been fixed.

2. raising apachebench concurrency from 200 to 400, litespeed cache still pushes out consistent 16k rps vs varnish which drops to under 9k rps. But pushing concurrency from 200 to 600, has the situation reversed with litespeed cache dropping from 1st, 2nd and 3rd run = 16k, 11k, down to just 330 rps on 3rd run (disk i/o ?) vs varnish dropping to consistent 7.5k rps.

Click to expand...

Likely a problem with kernel socket limits, there should not be big differences when you run the benchmark test multiple times.