Skip to content
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

Implement asynchronous http transfer #101

Closed
intuibase opened this issue Sep 23, 2024 · 1 comment · Fixed by #102
Closed

Implement asynchronous http transfer #101

intuibase opened this issue Sep 23, 2024 · 1 comment · Fixed by #102
Assignees

Comments

@intuibase
Copy link
Contributor

intuibase commented Sep 23, 2024

Requirements:

  • integrates with OTel SDK
  • possibility to disable and use the default OTel SDK transfer
  • troubleshooting logs
  • unit tests
  • test with Apache, FPM and CLI
  • add config flags to docs
@intuibase
Copy link
Contributor Author

intuibase commented Oct 1, 2024

Test without async transport

ab -n 100 -c 5 http://localhost:8080/pdo/sqlite.php
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 localhost (be patient).....done


Server Software:        Apache/2.4.56
Server Hostname:        localhost
Server Port:            8080

Document Path:          /pdo/sqlite.php
Document Length:        64055 bytes

Concurrency Level:      5
Time taken for tests:   5.444 seconds
Complete requests:      100
Failed requests:        99
   (Connect: 0, Receive: 0, Length: 99, Exceptions: 0)
Total transferred:      7524377 bytes
HTML transferred:       7504777 bytes
Requests per second:    18.37 [#/sec] (mean)
==============================================
Time per request:       272.222 [ms] (mean)
Time per request:       54.444 [ms] (mean, across all concurrent requests)
==============================================
Transfer rate:          1349.64 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:   183  254 175.1    202    1313
Waiting:       18   27  12.3     23     107
Total:        184  254 175.1    202    1313

Percentage of the requests served within a certain time (ms)
  50%    202
  66%    212
  75%    216
  80%    228
  90%    346
  95%    527
  98%   1312
  99%   1313
 100%   1313 (longest request)

Test with async transport:

ab -n 100 -c 5 http://localhost:8080/pdo/sqlite.php
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 localhost (be patient).....done


Server Software:        Apache/2.4.56
Server Hostname:        localhost
Server Port:            8080

Document Path:          /pdo/sqlite.php
Document Length:        92249 bytes

Concurrency Level:      5
Time taken for tests:   2.610 seconds
Complete requests:      100
Failed requests:        99
   (Connect: 0, Receive: 0, Length: 99, Exceptions: 0)
Total transferred:      10350109 bytes
HTML transferred:       10330509 bytes
Requests per second:    38.31 [#/sec] (mean)
==============================================
Time per request:       130.512 [ms] (mean)
Time per request:       26.102 [ms] (mean, across all concurrent requests)
==============================================
Transfer rate:          3872.26 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.1      0       0
Processing:    29  126 247.7     50    1442
Waiting:       20   87 194.1     40    1280
Total:         29  126 247.7     51    1442

Percentage of the requests served within a certain time (ms)
  50%     51
  66%     64
  75%     81
  80%     85
  90%    177
  95%    661
  98%   1324
  99%   1442
 100%   1442 (longest request)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant