Linux Seaside server problem

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Linux Seaside server problem

Sébastien Rocca-Serra-2
Hi,
We develop a Seaside application and we're doing some stress tests on it.

Context
-------
We run a 3.9.7-10 VM on a Debian Sarge server.
We start it with -nodisplay and -nosound options.

Our stress test is simple: only display a basic Seaside page.

Our Seaside server is a 2 GHz CPU with 1 GB of RAM.

Problem
-------
Our image freezes within 2 seconds, with as low as 20 concurrent users
hitting once per second.

I can't even connect to the image with REPLServer after the freeze.

Then we try to stress the same image on a Windows server with the VM
coming from the current 3.8 Windows package: it easily supports 150+
concurrent users hitting once per second...

Questions
---------
Did anyone have a similar experience?

I heard of a 3.6 VM being more stable for Unix / Linux systems. Is it
usable with a 3.9 image?

Is there a debian package for the 3.9-8 VM?

Should we use a Windows server for Squeak?

Thanks !
Seb.
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Linux Seaside server problem

Michael Rueger-6
Seb wrote:
ence?
>
> I heard of a 3.6 VM being more stable for Unix / Linux systems. Is it
> usable with a 3.9 image?

try the following, just to see if it is the same problem as we are
seeing with our squeaksource servers:
- launch the image with a VNC server (external, not built in), but do
not connect the VNC just yet
- when the application freezes, connect via VNC
- if this still works, just move the mouse and see if the application
comes back to life

But using the 3.6 VM might the better option according to Lukas.

Michael

_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Linux Seaside server problem

Philippe Marschall
In reply to this post by Sébastien Rocca-Serra-2
2006/11/20, Seb <[hidden email]>:

> Hi,
> We develop a Seaside application and we're doing some stress tests on it.
>
> Context
> -------
> We run a 3.9.7-10 VM on a Debian Sarge server.
> We start it with -nodisplay and -nosound options.
>
> Our stress test is simple: only display a basic Seaside page.
>
> Our Seaside server is a 2 GHz CPU with 1 GB of RAM.
>
> Problem
> -------
> Our image freezes within 2 seconds, with as low as 20 concurrent users
> hitting once per second.

Some ideas:
- Do you use Weak* anywhere? This includes SeasidePlatformSupport
class >> #weakDictionaryOfSize:
- Dou you use OSProcess?
- Can you use gdb and attach to the image and print the callstack?
see:
http://minnow.cc.gatech.edu/squeak/533
and:
http://developer.apple.com/technotes/tn/tn2032.html
for redirecting stdout and stderr

> I can't even connect to the image with REPLServer after the freeze.
>
> Then we try to stress the same image on a Windows server with the VM
> coming from the current 3.8 Windows package: it easily supports 150+
> concurrent users hitting once per second...
>
> Questions
> ---------
> Did anyone have a similar experience?

Not after two seconds. But else yes. That's just some of the things
you have to accept when using Squeak.  Why? Because Squeak is a toy
and this is good because we are all still kids.
I can tell you more horror stories if you buy me a beer.

> I heard of a 3.6 VM being more stable for Unix / Linux systems. Is it
> usable with a 3.9 image?

Yepp.

> Is there a debian package for the 3.9-8 VM?

Can't you just download and compile it?

> Should we use a Windows server for Squeak?

If it works fine on Windows and blocks on Linux .....

Philippe
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Linux Seaside server problem

Adrian Schmitt
So this means seaside/squeak can not be considered stable for a
production environment on linux machines?

What about seaside/visualworks?

Dabbledb ist running on a centos server (which is binary compatible to
red hat Linux enterprise)

What should I do if I plan a seaside application to go live?

Adrian

> 2006/11/20, Seb <[hidden email]>:
> > Hi,
> > We develop a Seaside application and we're doing some stress tests on it.
> > ...
> > Our image freezes within 2 seconds, with as low as 20 concurrent users
> > hitting once per second.
> > ...
> > I can't even connect to the image with REPLServer after the freeze.

2006/11/20, Philippe Marschall <[hidden email]>:
> That's just some of the things
> you have to accept when using Squeak.  Why? Because Squeak is a toy
> and this is good because we are all still kids.
> I can tell you more horror stories if you buy me a beer.
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Re: Linux Seaside server problem

Lukas Renggli
> So this means seaside/squeak can not be considered stable for a
> production environment on linux machines?

No.

What you have to consider is that in a standard LAMP setup you get the
stability by restarting the systems all the time: The Apache server
has a pool of threads doing the actual serving that all get re-created
from time to time. I assume it is the same for MySQL and PHP. That's
where the stability is coming from. It is not a real stability, it is
just fail-save.

In Smalltalk you have only one object memory. Therefor you need to be
careful with your system. You wont allow it to crash every now and
then like other application servers do. That this is possible shows so
many Seaside images running for years without interruption. This is
what I call stable. Of course, even for the most stable environment,
it is worth to have a system checking that everything is still fine
and properly working.

> What about seaside/visualworks?

That's the same.

> What should I do if I plan a seaside application to go live?

Unfortunately stability cannot be got for free. Choosing the right VM
is certainly a difficult point. Choosing the right image and packages
as well. Doing the right things in the code, and especially avoiding
the wrong ones, helps as well. Deeply testing (SUnit-Tests, load
tests, manual testing) is the best insurance you can get.

During incremental development it is a good practice to gather
knowledge about working deployment configurations by setting up test
servers from time to time to see what works and performs well and what
doesn't.

Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Linux Seaside server problem

johnmci
In reply to this post by Adrian Schmitt
Ok, this is silly, I think over Christmas here I'm going to rework  
the unix socket code because of course it's used in
the mac-osx carbon code too and I can't take the flaky behaviour  
anymore. However what I need is someone who
will compile code on their machine, I'll note they should have build  
their own VM for testing/production purposes so I don't have
to figure out how to make that all work, and they need to have a test  
case or test environment where they can show a hung VM or bad socket  
behaviour.

Anyone who can meet these criteria please step forward and email me  
so I can start some testing and diagnostics.

Please note I've already a test case where if I talk to the  
sophieproject MC server over dialup it's impossible to check things in
because it hangs at a certain point at the client wanting to read the  
list of MC file names from the server.

On 1-Dec-06, at 12:33 PM, Adrian Schmitt wrote:

> So this means seaside/squeak can not be considered stable for a
> production environment on linux machines?
>
> What about seaside/visualworks?
>
> Dabbledb ist running on a centos server (which is binary compatible to
> red hat Linux enterprise)
>
> What should I do if I plan a seaside application to go live?
>
> Adrian
>

--
========================================================================
===
John M. McIntosh <[hidden email]>
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
========================================================================
===


_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Linux Seaside server problem

Nevin Pratt
John M McIntosh wrote:
> Ok, this is silly, I think over Christmas here I'm going to rework the
> unix socket code because of course it's used in
> the mac-osx carbon code too and I can't take the flaky behaviour anymore.

Mind if I ask what the flaky behavior is that you are talking about?

I've been running a production Squeak/Seaside for years now, on Linux as
well as FreeBSD.  It has been quite stable, but your comment leaves me
mildly concerned, as well as quite curious.

Nevin

_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Linux Seaside server problem

David T. Lewis
In reply to this post by johnmci
On Sat, Dec 02, 2006 at 03:44:11PM -0800, John M McIntosh wrote:

> Ok, this is silly, I think over Christmas here I'm going to rework  
> the unix socket code because of course it's used in
> the mac-osx carbon code too and I can't take the flaky behaviour  
> anymore. However what I need is someone who
> will compile code on their machine, I'll note they should have build  
> their own VM for testing/production purposes so I don't have
> to figure out how to make that all work, and they need to have a test  
> case or test environment where they can show a hung VM or bad socket  
> behaviour.
>
> Anyone who can meet these criteria please step forward and email me  
> so I can start some testing and diagnostics.
>
> Please note I've already a test case where if I talk to the  
> sophieproject MC server over dialup it's impossible to check things in
> because it hangs at a certain point at the client wanting to read the  
> list of MC file names from the server.

Hi John,

If you or someone else can provide the test cases, I can build and test
VMs for you on Linux.

I have a Pentium box with Linux 2.4.21 (an older SuSE distribution),
and a 64 bit AMD laptop with Linux 2.6.13 (and OpenSuSE distribution).

I have not personally experienced socket problems, nor do I run a
Seaside server, so I would need to have someone provide repeatable
tests that show the current failures.

Let me know if I can help.

Dave

_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside