Which HTTP Server?
Which HTTP Server?
Hi, I'm looking to deploy a CL web app and was wondering what the general feeling was about which HTTP server to use?
From what I gather the more popular ones are AllegroServe, Hunchentoot, or using mod_lisp. Does anyone have experience with one or the other, and which would you recommend? Obviously performance counts, but I'm also interested in the general stability of the project, docs, community/support forums, etc. Or I guess to put it more succinctly, which one would you recommend to your boss if you had to work with it every day?
Thanks!
From what I gather the more popular ones are AllegroServe, Hunchentoot, or using mod_lisp. Does anyone have experience with one or the other, and which would you recommend? Obviously performance counts, but I'm also interested in the general stability of the project, docs, community/support forums, etc. Or I guess to put it more succinctly, which one would you recommend to your boss if you had to work with it every day?
Thanks!
-
- Posts: 447
- Joined: Sat Jun 28, 2008 7:49 am
- Location: Austin, TX
- Contact:
Re: Which HTTP Server?
Hunchentoot seems to have the momentum at this point. Mod_lisp is probably second. Allegroserv might not work on anything but Allegro (bitrot, as suggested by another thread: viewtopic.php?f=2&t=375 ).
Cheers, Dave
Slowly but surely the world is finding Lisp. http://www.findinglisp.com/blog/
Slowly but surely the world is finding Lisp. http://www.findinglisp.com/blog/
-
- Posts: 9
- Joined: Tue May 26, 2009 8:27 am
Re: Which HTTP Server?
AllegroServe if you are ACL user, hunchentoot for everything else.
Re: Which HTTP Server?
What Slobodan said: Hunchentoot unless you're using ACL, and possibly even then.
mod_lisp is more of a webserver-appserver comms protocol than it is a server in itself, so far as I understand it; very much the equivalent of connecting apache to tomcat via mod_jk. While it was suggested for connecting apache to Hunchentoot-0.15.x, support has been dropped in Hunchentoot 1.0 because it looked like nobody was actually using it (iirc). You could write your own application to use it, but the chances are that you'd just be re-inventing stuff that works perfectly well in both Hunchentoot and Allegroserve.
There's a further option of using Lisp/CGI, but when I asked about that a few years back, the general response was the question, "why would you do that to yourself when you can use a perfectly good appserver?"
mod_lisp is more of a webserver-appserver comms protocol than it is a server in itself, so far as I understand it; very much the equivalent of connecting apache to tomcat via mod_jk. While it was suggested for connecting apache to Hunchentoot-0.15.x, support has been dropped in Hunchentoot 1.0 because it looked like nobody was actually using it (iirc). You could write your own application to use it, but the chances are that you'd just be re-inventing stuff that works perfectly well in both Hunchentoot and Allegroserve.
There's a further option of using Lisp/CGI, but when I asked about that a few years back, the general response was the question, "why would you do that to yourself when you can use a perfectly good appserver?"
-
- Posts: 99
- Joined: Sat Jul 26, 2008 2:30 pm
- Location: Germany
- Contact:
Re: Which HTTP Server?
I would say it is even more equivalent to SCGI (http://en.wikipedia.org/wiki/SCGI) (I wonder if Hunchentoot supports SCGI?)JamesF wrote:mod_lisp is more of a webserver-appserver comms protocol than it is a server in itself, so far as I understand it; very much the equivalent of connecting apache to tomcat via mod_jk.
I think there was a discussion on the Mailinglist about it.JamesF wrote:While it was suggested for connecting apache to Hunchentoot-0.15.x, support has been dropped in Hunchentoot 1.0 because it looked like nobody was actually using it (iirc).
I would suggest Hunchentoot if you only want to serve a Lisp-Application. If you want to run a "mainstream"-Server like apache or lighttpd in front of it and have the capacities to run Hunchentoot, then run it and use mod_proxy with your main-server. If you only have a small VPS then maybe it is hard to get Hunchentoot working stable (thats a problem I often had). Then I would recommend using CLISP's FastCGI-API.
Sorry for my bad english.
Visit my blog http://blog.uxul.de/
Visit my blog http://blog.uxul.de/
Re: Which HTTP Server?
Yes, I'm looking at using a VPS - how small is too small for Huchentoot? 256? 512? or is more needed?schoppenhauer wrote:If you only have a small VPS then maybe it is hard to get Hunchentoot working stable (thats a problem I often had). Then I would recommend using CLISP's FastCGI-API.
Thanks for the responses all.
-
- Posts: 9
- Joined: Tue May 26, 2009 8:27 am
Re: Which HTTP Server?
Edi code is good but I doubt that general purpose server could beat Aserve on dedicated implementation with commercial backing.JamesF wrote:What Slobodan said: Hunchentoot unless you're using ACL, and possibly even then.
Two more suggestions that I didn't tried myself:
Anti web http://hoytech.com/antiweb/ I haven't worked with it but if its half as good as Hoyte book Let over lambda the it would be something awesome.
And Scieneer http://www.scieneer.com/scl/http.html if you use scieener.
-
- Posts: 99
- Joined: Sat Jul 26, 2008 2:30 pm
- Location: Germany
- Contact:
Re: Which HTTP Server?
Not Hunchentoot was the problem, but SBCL, ACL, CCL, etc., are reserving too much memory - and want a special part of the memory to optimize their memory-management.billy wrote:Yes, I'm looking at using a VPS - how small is too small for Huchentoot? 256? 512? or is more needed?
ECL and CLISP are better in that way, but CLISP didnt really have threads the last time I tried it, and ECL didnt support Hunchentoot well - but I think this has changed meanwhile.
Sorry for my bad english.
Visit my blog http://blog.uxul.de/
Visit my blog http://blog.uxul.de/
Re: Which HTTP Server?
I'm doing OK on a Xen VPS with 512Mb RAM, after constraining the runtime's heap withbilly wrote:Yes, I'm looking at using a VPS - how small is too small for Huchentoot? 256? 512? or is more needed?schoppenhauer wrote:If you only have a small VPS then maybe it is hard to get Hunchentoot working stable (thats a problem I often had). Then I would recommend using CLISP's FastCGI-API.
Code: Select all
--dynamic-space-size 256
Where I had major problems was with finding a virtualisation system that plays well with SBCL. Virtuozzo was the big failure that I remember, but I'm pretty sure I tried another. The SBCL VM does interesting things with memory allocation that react badly in some systems.
-
- Posts: 447
- Joined: Sat Jun 28, 2008 7:49 am
- Location: Austin, TX
- Contact:
Re: Which HTTP Server?
Yup. Virtuozzo isn't "real" virtualization. It's a half-way hack where everybody is really just running processes on the same Linux kernel, with some magic to hide everybody else's processes from you and make you think your context is the only one on the machine. Hosters like it because it provides far better scaling than with Xen or VMware (like > 100 contexts per piece of physical hardware vs 10s with Xen/VMware), but there are limitations, SBCL being one of them. Xen and VMware are full, complete virtualization solutions and you should be able to run literally anything in them without problems.JamesF wrote:Where I had major problems was with finding a virtualisation system that plays well with SBCL. Virtuozzo was the big failure that I remember, but I'm pretty sure I tried another. The SBCL VM does interesting things with memory allocation that react badly in some systems.
Cheers, Dave
Slowly but surely the world is finding Lisp. http://www.findinglisp.com/blog/
Slowly but surely the world is finding Lisp. http://www.findinglisp.com/blog/