Arc Forumnew | comments | leaders | submitlogin
Arc dies
3 points by lark 4029 days ago | 4 comments
Arc dies if you issue consistently multiple concurrent connections.

I ran the simplest workload test possible against Anarki. I also tried against Arc 3.1 with racket 5.2.1, with mzscheme 5.2.1, and with mzscheme 3.72. They all die.

The test program was:

  arc> (defop || req (pr "this is a simple test"))
  arc> (asv)
The workload test was:

  $ siege -c 20 -r 10 http://127.0.0.1:8080
Running the siege command reports 0 failed transactions.

Running the siege command a second time reports lots of failed transactions.

Running the siege command a third time reports only failed transactions and zero successful ones.

Is anyone able to reproduce this?



2 points by akkartik 4029 days ago | link

Sorry about the delay, but yes I can reproduce this. Thanks for the detailed bug report!

-----

3 points by akkartik 4029 days ago | link

It's because of gotcha #3: arc's abusive IP detection.

https://sites.google.com/site/arclanguagewiki/arc-3_1/known-...

To disable this, redefine abusive-ip to do nothing, or delete the call to it in srv.arc. Or if you're just trying to do benchmarking you can disable it for requests from localhost.

-----

3 points by akkartik 4029 days ago | link

I've modified anarki to warn when it throttles an IP.

https://github.com/arclanguage/anarki/commit/c584e9618f

Sorry this was confusing; hopefully it won't catch anyone else.

-----

2 points by lark 4025 days ago | link

Thank you, that worked.

-----