Which HTTP Server?

Discussion of Common Lisp
billy
Posts: 8
Joined: Fri Apr 24, 2009 11:56 am

Which HTTP Server?

Post by billy » Wed Jun 10, 2009 8:25 am

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!

findinglisp
Posts: 447
Joined: Sat Jun 28, 2008 7:49 am
Location: Austin, TX
Contact:

Re: Which HTTP Server?

Post by findinglisp » Wed Jun 10, 2009 9:55 am

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/

slobodan.blazeski
Posts: 9
Joined: Tue May 26, 2009 8:27 am

Re: Which HTTP Server?

Post by slobodan.blazeski » Wed Jun 10, 2009 3:46 pm

AllegroServe if you are ACL user, hunchentoot for everything else.

JamesF
Posts: 98
Joined: Thu Jul 10, 2008 7:14 pm

Re: Which HTTP Server?

Post by JamesF » Wed Jun 10, 2009 5:26 pm

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?"

schoppenhauer
Posts: 99
Joined: Sat Jul 26, 2008 2:30 pm
Location: Germany
Contact:

Re: Which HTTP Server?

Post by schoppenhauer » Wed Jun 10, 2009 6:27 pm

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 would say it is even more equivalent to SCGI (http://en.wikipedia.org/wiki/SCGI) (I wonder if Hunchentoot supports SCGI?)
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 think there was a discussion on the Mailinglist about it.

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/

billy
Posts: 8
Joined: Fri Apr 24, 2009 11:56 am

Re: Which HTTP Server?

Post by billy » Wed Jun 10, 2009 8:49 pm

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.
Yes, I'm looking at using a VPS - how small is too small for Huchentoot? 256? 512? or is more needed?

Thanks for the responses all.

slobodan.blazeski
Posts: 9
Joined: Tue May 26, 2009 8:27 am

Re: Which HTTP Server?

Post by slobodan.blazeski » Thu Jun 11, 2009 6:18 am

JamesF wrote:What Slobodan said: Hunchentoot unless you're using ACL, and possibly even then.
Edi code is good but I doubt that general purpose server could beat Aserve on dedicated implementation with commercial backing.
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.

schoppenhauer
Posts: 99
Joined: Sat Jul 26, 2008 2:30 pm
Location: Germany
Contact:

Re: Which HTTP Server?

Post by schoppenhauer » Thu Jun 11, 2009 6:49 am

billy wrote:Yes, I'm looking at using a VPS - how small is too small for Huchentoot? 256? 512? or is more needed?
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.
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/

JamesF
Posts: 98
Joined: Thu Jul 10, 2008 7:14 pm

Re: Which HTTP Server?

Post by JamesF » Mon Jun 15, 2009 6:42 pm

billy wrote:
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.
Yes, I'm looking at using a VPS - how small is too small for Huchentoot? 256? 512? or is more needed?
I'm doing OK on a Xen VPS with 512Mb RAM, after constraining the runtime's heap with

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.

findinglisp
Posts: 447
Joined: Sat Jun 28, 2008 7:49 am
Location: Austin, TX
Contact:

Re: Which HTTP Server?

Post by findinglisp » Mon Jun 15, 2009 8:13 pm

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.
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.
Cheers, Dave
Slowly but surely the world is finding Lisp. http://www.findinglisp.com/blog/

Post Reply