Description
Octane Version
v2.2.5
Laravel Version
10.38.2
PHP Version
8.2.13
What server type are you using?
FrankenPHP
Server Version
v1.0.1
Database Driver & Version
No response
Description
When I run a load test a fresh laravel app using apache utils tools ab
the server suddenly caches. for example
pc@pc:~$ ab -n 100 -c 10 http://127.0.0.1:8000/
This is ApacheBench, Version 2.3 <$Revision: 1879490 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 127.0.0.1 (be patient)...apr_socket_recv: Connection refused (111)
Total of 11 requests completed
This issue happens when the concurrency is high, when running 10 times the number of requests with low concurrency I get great results, Note that this scenario doesn't always happen, It happens randomly when load testing with high concurrency
pc@pc:~$ ab -n 1000 -c 1 http://127.0.0.1:8000/
This is ApacheBench, Version 2.3 <$Revision: 1879490 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 127.0.0.1 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: Caddy
Server Hostname: 127.0.0.1
Server Port: 8000
Document Path: /
Document Length: 27514 bytes
Concurrency Level: 1
Time taken for tests: 4.885 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 28621000 bytes
HTML transferred: 27514000 bytes
Requests per second: 204.72 [#/sec] (mean)
Time per request: 4.885 [ms] (mean)
Time per request: 4.885 [ms] (mean, across all concurrent requests)
Transfer rate: 5721.89 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 1 5 36.6 1 399
Waiting: 1 1 0.7 1 11
Total: 1 5 36.6 1 399
Percentage of the requests served within a certain time (ms)
50% 1
66% 1
75% 1
80% 1
90% 1
95% 2
98% 5
99% 161
100% 399 (longest request)
While debugging this, I noticed when running ./frankenphp -v
I see that the used php version is 8.3.0
while my local php version is used to serve the application is 8.2.13
Steps To Reproduce
Here is a github repo containing a fresh laravel app with latest octane installed, just pull and
run the following commands
composer i
cp .env.example .env
php artisan key:generate
php artisan octane:install --server=frankenphp
php artisan octane:start --server=frankenphp
Then in another terminal tab run
ab -n 1000 -c 10 http://127.0.0.1:8000/