Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

The Common Lisp Directory finally crashed after 823 days.

48 views
Skip to first unread message

Marc Battyani

unread,
Mar 15, 2008, 1:05:35 PM3/15/08
to
The Common Lisp Directory (http://www.cl-user.net) lisp process crashed
yesterday after 823 days of continuous service.

In these 2 years and 93 days, the same lisp process (LispWorks on Linux
Debian) served 273M requests without any problem. Even the crash was not
really lisp's fault as it was caused by a swap disk problem which caused the
kernel to kill a lot of processes.

During these 823 days, I had to restart Apache every few months and the
firewall router every several days. I also got several electric power
outages but fortunately none longer than the 3h of UPS battery time.
BTW this shows than Debian is also a stable platform for this kind of
applications.

So the CLD lisp process uptime experiment is now over and I will move the
CLD to a better place than a simple server in my basement.

Marc


John Thingstad

unread,
Mar 15, 2008, 1:27:04 PM3/15/08
to
På Sat, 15 Mar 2008 18:05:35 +0100, skrev Marc Battyani
<Marc.B...@fractalconcept.com>:

What kind of traffic did you get?
Average load/Max load, number of requests etc?.
What web server did you use?
Just curious.. (I also use LispWorks and am considering it.)

--------------
John Thingstad

Marc Battyani

unread,
Mar 15, 2008, 6:13:36 PM3/15/08
to

"John Thingstad" <jpt...@online.no> wrote

> På Sat, 15 Mar 2008 18:05:35 +0100, skrev Marc Battyani
> <Marc.B...@fractalconcept.com>:
>
>> The Common Lisp Directory (http://www.cl-user.net) lisp process crashed
>> yesterday after 823 days of continuous service.
>>
>> In these 2 years and 93 days, the same lisp process (LispWorks on Linux
>> Debian) served 273M requests without any problem. Even the crash was not
>> really lisp's fault as it was caused by a swap disk problem which caused
>> the
>> kernel to kill a lot of processes.
>>
>> During these 823 days, I had to restart Apache every few months and the
>> firewall router every several days. I also got several electric power
>> outages but fortunately none longer than the 3h of UPS battery time.
>> BTW this shows than Debian is also a stable platform for this kind of
>> applications.
>>
>> So the CLD lisp process uptime experiment is now over and I will move the
>> CLD to a better place than a simple server in my basement.
>>
>> Marc
>
> What kind of traffic did you get?
> Average load/Max load, number of requests etc?.

273M requests on 823 days gives 3.84 req/s average so it's not so much.
There are also requests for static content which are handled by apache and
not counted here.
I don't know the max load but on that old server the lisp process can serve
1440 req/s so we are very far from that.
The server load was generally around 0.2~0.5%

> What web server did you use?

Apache + mod_lisp + my webapp framework.
http://www.fractalconcept.com/ilc2002-marc-battyani.pdf

Now it would be called an Ajax framework but I don"t even know if the
acronym already existed in 2000/2002.

> Just curious.. (I also use LispWorks and am considering it.)

This is with LW 4.4.6. When I upgrade to a new server I will switch to LW
5.x

Marc


Chun Tian

unread,
Mar 17, 2008, 3:18:31 AM3/17/08
to
On 3月16日, 上午6时13分, "Marc Battyani" <Marc.Batty...@fractalconcept.com>
wrote:
> "John Thingstad" <jpth...@online.no> wrote

>
>
> > What kind of traffic did you get?
> > Average load/Max load, number of requests etc?.
>
> 273M requests on 823 days gives 3.84 req/s average so it's not so much.
> There are also requests for static content which are handled by apache and
> not counted here.
> I don't know the max load but on that old server the lisp process can serve
> 1440 req/s so we are very far from that.
> The server load was generally around 0.2~0.5%
>
> > What web server did you use?
>
> Apache + mod_lisp + my webapp framework.http://www.fractalconcept.com/ilc2002-marc-battyani.pdf

>
> Now it would be called an Ajax framework but I don"t even know if the
> acronym already existed in 2000/2002.
>
> > Just curious.. (I also use LispWorks and am considering it.)
>
> This is with LW 4.4.6. When I upgrade to a new server I will switch to LW
> 5.x

LispWorks 5.x support pthreads on Linux, but all pthreads can only use
ONE cpu at the same time. So if you have only one Lisp process
running, it's better to use a high GHz but multi-core CPU on your
server.

May another way to pass this is let multiple Lisp Web process
listening on different TCP ports, and use Apache's Proxy and Rewrite
URL support, Squid, or even LVS to make a "Virtual" 80 port for all
these processes.

I don't know if LW on win32 can use multiple CPUs.

Regards,

Chun Tian (binghe)

Alex Mizrahi

unread,
Mar 17, 2008, 7:57:55 AM3/17/08
to
CT> LispWorks 5.x support pthreads on Linux, but all pthreads can only use
CT> ONE cpu at the same time. So if you have only one Lisp process
CT> running, it's better to use a high GHz but multi-core CPU on your
CT> server.

what parts of this:

MB>> 273M requests on 823 days gives 3.84 req/s average so it's not so
MB>> much. .. I don't know the max load but on that old
MB>> server the lisp process can serve 1440 req/s so we are very far from
MB>> that. The server load was generally around 0.2~0.5%

you failed to understand?

CT> I don't know if LW on win32 can use multiple CPUs.

i think it's not OS-specific.


Christophe

unread,
Mar 17, 2008, 9:31:46 AM3/17/08
to
On 15 mar, 18:05, "Marc Battyani" <Marc.Batty...@fractalconcept.com>
wrote:

Hello Marc,

How are you ?

Perhaps it's time to use AllegroServe ? :)

Best Regards

Christophe

George Neuner

unread,
Mar 18, 2008, 12:13:59 AM3/18/08
to
On Mon, 17 Mar 2008 00:18:31 -0700 (PDT), Chun Tian
<bingh...@gmail.com> wrote:

>On 3月16日, 上午6时13分, "Marc Battyani" <Marc.Batty...@fractalconcept.com>
>wrote:
>> "John Thingstad" <jpth...@online.no> wrote
>>
>>
>> > What kind of traffic did you get?
>> > Average load/Max load, number of requests etc?.
>>
>> 273M requests on 823 days gives 3.84 req/s average so it's not so much.
>> There are also requests for static content which are handled by apache and
>> not counted here.
>> I don't know the max load but on that old server the lisp process can serve
>> 1440 req/s so we are very far from that.
>> The server load was generally around 0.2~0.5%
>>
>> > What web server did you use?
>>
>> Apache + mod_lisp + my webapp framework.http://www.fractalconcept.com/ilc2002-marc-battyani.pdf
>>
>> Now it would be called an Ajax framework but I don"t even know if the
>> acronym already existed in 2000/2002.
>>
>> > Just curious.. (I also use LispWorks and am considering it.)
>>
>> This is with LW 4.4.6. When I upgrade to a new server I will switch to LW
>> 5.x
>
>LispWorks 5.x support pthreads on Linux, but all pthreads can only use
>ONE cpu at the same time. So if you have only one Lisp process
>running, it's better to use a high GHz but multi-core CPU on your
>server.

What does that buy you? The OS makes each core appear to be a
separate CPU. A Lisp that's limited to one CPU will only use one
core.


>May another way to pass this is let multiple Lisp Web process
>listening on different TCP ports, and use Apache's Proxy and Rewrite
>URL support, Squid, or even LVS to make a "Virtual" 80 port for all
>these processes.
>
>I don't know if LW on win32 can use multiple CPUs.
>
>Regards,
>
>Chun Tian (binghe)

George
--
for email reply remove "/" from address

lisp linux

unread,
Mar 21, 2008, 1:39:13 AM3/21/08
to
Marc Battyani wrote:
> I don't know the max load but on that old server the lisp process can serve
> 1440 req/s so we are very far from that.
That sounds much higher than what i got (< 300) for (a not so scientific) test
of hunchentoot+sbcl, showing its default page on what I assume is
a much more powerful hardware (dual core 64bit amd something with 4gb ram) than
your box.

Can someone else please comment if my number seems way out of line.
Basically all I did was
(require 'hunchentoot)
(hunchentoot:start-server :port 7777)
and point apache bench to http:/localhost:7777/ and try a few tests


>
>> What web server did you use?
>
> Apache + mod_lisp + my webapp framework.

So what is it that makes this so much faster or what is the main bottleneck in hunchentoot+sbcl


> http://www.fractalconcept.com/ilc2002-marc-battyani.pdf
>
> Now it would be called an Ajax framework but I don"t even know if the

I am very much interested in hearing anyone having any insights.
Thanks,
-Antony

Ivan Boldyrev

unread,
Mar 26, 2008, 1:51:19 AM3/26/08
to
On 10151 day of my life lisp linux wrote:
> Marc Battyani wrote:
>> I don't know the max load but on that old server the lisp process
>> can serve 1440 req/s so we are very far from that.

> That sounds much higher than what i got (< 300) for (a not so

> scientific) test of hunchentoot+sbcl ...

Much of Hunchentoot slowness comes from underlying flexi-streams (but
there is some non-optimal code in Hunchentoot itself too). And don't
forget to get newest version -- a speed was somewhat improved somewhere
before 0.15. I have some private patch that improves speed, but I don't
think it worth patching that needs rewriting.

(Perhaps, on Lispworks Hunchentoot works much faster than on SBCL,
because SBCL's CLOS is slower, and it seems Edi wasn't aware of this
fact when designing flexi-streams.)

======================================================================
Hint: setting

(setf ppcre:*use-bmh-matchers* nil)

before calling any hunchentoot:create-regex-dispatcher reduces memory
footprint that also may give you some speed (but very little, perhaps).
======================================================================

--
Ivan Boldyrev

Sorry my terrible English, my native language is Lisp!

attila....@gmail.com

unread,
Mar 26, 2008, 6:39:18 AM3/26/08
to
> (Perhaps, on Lispworks Hunchentoot works much faster than on SBCL,
> because SBCL's CLOS is slower, and it seems Edi wasn't aware of this

fyi, i've seens some random benchmarks and it wasn't the case in them
at all. both entire CLOS and generic methods particularly.

- attila

0 new messages