Comments (4)
Please provide detailed instructions to reproduce the suspected bug.
On Tue, Apr 9, 2013 at 10:30 AM, Zplay [email protected] wrote:
Hello,
After running hunchentoot within Caveman framework, after a while I get
this error :Can't handle a new request, too many request threads already
and the server stop responding. I have this problem with latest
hunchentoot package available on quicklisp at this time, and tried
differents versions of SBCL but the problem is still the same.It seems that doing some request with curl crash the server sooner than
loading it with firefox.I don't know what informations I can add to h elp.
—
Reply to this email directly or view it on GitHubhttps://github.com//issues/54
.
from hunchentoot.
First, create a caveman app and start it :
(ql:quickload :caveman)
(caveman.skeleton:generate #p"test")
(ql:quickload :test)
(test:start)
Start "apache benchmark" ab command :
ab -c 500 -n 1000 http://localhost:5000/
it'll breaks the app started. I know that 500 concurrents is BIG, but you can also try with -c 50 and press CTRL+C to break connections, 2 or 3 times doing it break the app too.
I am not sure it is a problem with hunchentoot. Caveman is using Clack which uses hunchentoot, but if I replace hunchentoot with fastcgi or mod_lisp, I can't reproduce something like that.
from hunchentoot.
What do you mean by "break the app"? If you mean that requests end up in
error, then this is the expected behavior if you overload the server. If
you mean that the server crashes and never becomes responsive again, then
this would be something that needs to be fixed.
The message "Can't handle a new request, too many request threads already"
means just that. There is an upper limit on the number of concurrent
threads that Hunchentoot spawns to handle requests. If the default limit
of 100 is too low, you can set a different limit by instantiating the
taskmaster with a different :max-thread-count.
Please refer to the documentation (http://weitz.de/hunchentoot/#taskmasters)
to learn how taskmasters and load limiting works.
Please confirm whether this is a real bug or just a misunderstanding of how
load limiting in Hunchentoot works on your side.
On Tue, Apr 9, 2013 at 3:40 PM, Zplay [email protected] wrote:
First, create a caveman app and start it :
(ql:quickload :caveman)(caveman.skeleton:generate #p"test")(ql:quickload :test)(test:start)```
Start "apache benchmark" ab command : ab -c 500 -n 1000 http://localhost:5000/, it'll breaks the app started. I know that 500 concurrents is BIG, but you can also try with -c 50 and
press CTRL+C to break connections, 2 or 3 times doing it break the app too.
I am not sure it is a problem with hunchentoot. Caveman is using Clack using hunchentoot, but if I replace hunchentoot with fastcgi or mod_lisp, I can't reproduce something like that.—
Reply to this email directly or view it on GitHubhttps://github.com//issues/54#issuecomment-16112947
.
from hunchentoot.
Thank you for you quick answer. I have been looking deeper, the problem seems related to caveman/clack blocking somewhere, no hunchentoot can't do threads anymore. With caveman displaying a single character through hunchentoot, I can't overload it, display a big page and it get blocked after the "too many requests", it doesn't work anymore.
from hunchentoot.
Related Issues (20)
- Misusing SameSite Attribute For Cookies HOT 2
- option for compute-request-parameter: :prefer-post
- How do I make hunchentoot refresh the static files? HOT 2
- Incorrect redirection to HTTP when application is served using HTTPS reverse proxy HOT 1
- cannot use sbcl install HOT 5
- N/A
- hunchentoot:handle-static-file HOT 4
- Hunchentot intermittently returns HTTP 304 / HTTP 200 on HTTP HEAD HOT 1
- Don't REMOVE-SESSION when a "fake session identifier" is detected.
- INITIALIZE-INSTANCE (SSL-ACCEPTOR) should not take TRUENAME of cert-files HOT 2
- 404 Not Found HOT 1
- vulnerability report HOT 9
- running tests with different users causes failing tests
- Usage of SO_REUSEADDR is confusing on Windows and might pose a security issue
- reverse proxy
- Error in wake-for-shutdown HOT 1
- SameSite cookie attribute? HOT 2
- JavaScript module file xxx.mjs has no content-type definition when serving static files
- Cipher Suite negotiation failure in LW8 / ssl-ctx is not initialized HOT 6
- easy-handler errors out when raw bytes are passed as URL parameters HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hunchentoot.