-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Loadtesting throws wierd (debugging) errors from the environment initialization codes provided in App.cpp #17
Comments
Hello @renhiyama , Do you have those errors on every request, or do they just occur from time to time? I need more info from you:
Regards, |
I used apache bench: |
Also thanks for the fast reply :D |
When a new connection comes in, oatpp will spawn a thread to process it.
Well, it's not a big load at all. However, (which is not related to the original issue) you might run out of ephemeral ports since you don't use keep-alive option. try to run it with ab -k -n 100000 -c 1000 http://127.0.0.1:8000 Also, can you please post the whole output of the test here. I'm interested in how often that error is occurring for you. |
Ok, will check it out tomorrow! 😊 |
Hey lgan, I had a doubt, if people comes to know that by not using keep alive option, the server will respond more slowly, so a ddos attack can be more successful without keep alive 🤔. Also the error happens everytime, starts from 4000 count of ddos to 8000. I will send the full log tommorow, I forgot about this issue for these 3 days, also I was trying out copilot so 😅 I forgot. |
Hey @renhiyama ,
It's actually a client issue, not the server. When you connect to the same server from one machine you can easily exhaust all ephemeral ports on that machine because when a connection is closed it is still needed some time for the ephemeral port to be freed. When running
No problem, we all are busy:) |
$ ab -n 100000 -c 1000 -k http://127.0.0.1:3000/
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 10000 requests
Completed 20000 requests
Completed 30000 requests
Completed 40000 requests
Completed 50000 requests
Completed 60000 requests
Completed 70000 requests
Completed 80000 requests
Completed 90000 requests
Completed 100000 requests
Finished 100000 requests
Server Software: oatpp/1.3.0
Server Hostname: 127.0.0.1
Server Port: 3000
Document Path: /
Document Length: 33 bytes
Concurrency Level: 1000
Time taken for tests: 4.882 seconds
Complete requests: 100000
Failed requests: 0
Keep-Alive requests: 100000
Total transferred: 14900000 bytes
HTML transferred: 3300000 bytes
Requests per second: 20483.90 [#/sec] (mean)
Time per request: 48.819 [ms] (mean)
Time per request: 0.049 [ms] (mean, across all concurrent requests)
Transfer rate: 2980.57 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 10.9 0 122
Processing: 0 47 56.5 35 1412
Waiting: 0 47 56.5 35 1412
Total: 0 48 59.0 35 1501
Percentage of the requests served within a certain time (ms)
50% 35
66% 43
75% 54
80% 66
90% 89
95% 112
98% 154
99% 240
100% 1501 (longest request) Seems like keep alive stops from error/warnings |
There seems to be no error logs when using |
If its a client side error, I want to know why the server is logging those errors... |
Hold up, wait a min! |
|
With keep alive option, the minimum time decreased so much! (While the longest time also increased a little) |
Can I know what happened? Thanks in advance.
The text was updated successfully, but these errors were encountered: