Open g-pavlik opened 6 months ago
I haven't done any performance testing on the gem before, so these are interesting findings!
Could the issue be with your standalone server? You're not keeping https
in the looping, and https
is not in your DATA
debug.
@pawlik I think this is an issue with ab.
Running this
time curl --parallel --insecure -x localhost:44443 https://foo.com/[0-200]
Against your scripts yields 20 requests per second. Which is a bit slow but not crazy.
Follow up after: https://github.com/oesmith/puffing-billy/issues/346 (thanks for your time there, BTW)
I've been digging and trying to understand why puffing-billy is at the same time super fast (when testing via apache benchmark) and kind of sluggish when observind requests in chrome's network console, and I've found something interesting which I'm not sure is related.
Here's my standalone billy server:
And first, the blazingly fast:
(finished 200 requests in 50ms - :speedboat:)
Here's the problematic one (change only http to https)
My standalone server logs:
Side note: this made me think the error causes some kind of infinite loop, and that the problem is SSL. I did add the recommended certs (https://github.com/oesmith/puffing-billy?tab=readme-ov-file#google-chrome-headless-example) but it did not make it any faster. I think now the parsing error and the performance issues might be unrelated. I'm not sure how to determine that besides fixing the parsing issue first.
When I add puts before
puffing-billy-4.0.0/lib/billy/proxy_connection.rb:20
Here's what I see for http request:
And here's the output for https request:
One can reproduce this error:
But to be honest I'm stuck here, and I'd appreciate any suggestions.
Especially:
ab
correctly to test performance of puffing-billy? Maybe I'm missing other options?cc/ @khamusa