Preparing a Seaside Squeak application for Production

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

Preparing a Seaside Squeak application for Production

Sébastien Rocca-Serra-2
Hi, We develop a Seaside Web application that will soon go in production.

It's our first experience with Seaside & Squeak, so we need advice
before installing the image on the production server.

Context
-------
We plan to use a headless 3.8 image with Seaside 2.6 on a Debian Sarge
with a 3.9.7 VM, and we use MySQL 5.0 for persistence.

We need to address high traffic.

Questions
---------
- Is it safer to use a latest version of Seaside 2.6 for bug fixes (like
118+), or use an older one (under 100 or so)?,

- Is Squeak 3.8 better suited to Seaside 2.6?
- Is Squeak 3.9 better suited to Seaside 2.6?

- Are there subtle performance tweaks, (silly example: closing all
windows in the image)?

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: Preparing a Seaside Squeak application for Production

Philippe Marschall
2006/11/16, Sébastien Rocca-Serra <[hidden email]>:
> Hi, We develop a Seaside Web application that will soon go in production.
>
> It's our first experience with Seaside & Squeak, so we need advice
> before installing the image on the production server.
>
> Context
> -------
> We plan to use a headless 3.8 image with Seaside 2.6 on a Debian Sarge
> with a 3.9.7 VM, and we use MySQL 5.0 for persistence.

Is there a special reason why you don't use the latest (3.9.8) vm?

> We need to address high traffic.
>
> Questions
> ---------
> - Is it safer to use a latest version of Seaside 2.6 for bug fixes (like
> 118+), or use an older one (under 100 or so)?,

Latest. Especially since old doesn't mean stable, just old.

> - Is Squeak 3.8 better suited to Seaside 2.6?
> - Is Squeak 3.9 better suited to Seaside 2.6?

Make sure you have FastSocketStream. It's in 3.8.1 or 3.9.

> - Are there subtle performance tweaks, (silly example: closing all
> windows in the image)?

- Yeah, close those Morphs. Weird things can happen if you leave them
up open too long.
- Especially close the Transcript.
- Flush the Monticello Cache
- Build a special image for deployment without, RB, Shout, eCompletion, ...

Cheers
Philippe

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

Re: Preparing a Seaside Squeak application for Production

Michael Rueger-6
Philippe Marschall wrote:
> 2006/11/16, Sébastien Rocca-Serra <[hidden email]>:

>> Context
>> -------
>> We plan to use a headless 3.8 image with Seaside 2.6 on a Debian Sarge
>> with a 3.9.7 VM, and we use MySQL 5.0 for persistence.

For testing and debugging purposes you may want to run the image headed
against a VNC server. We do this for most of the stuff running on our
server. VNC listening on localhost only, then use a ssh tunnel to
connect if needed.
And, as happens on a regular basis to our SqueakSource servers, the
image locks up, just connecting to VNC an wiggling the mouse brings it
back to life.

>> - Is Squeak 3.8 better suited to Seaside 2.6?
>> - Is Squeak 3.9 better suited to Seaside 2.6?
>
> Make sure you have FastSocketStream. It's in 3.8.1 or 3.9.

At least the 3.8.1 image, includes a couple of fixes and especially the
FastSocketStream (replacing SocketStream), as pointed out above.

Although 3.9 might work as well (or better), I just haven't really used
it as much yet.

> - Yeah, close those Morphs. Weird things can happen if you leave them
> up open too long.
> - Especially close the Transcript.
> - Flush the Monticello Cache

Check if there are any zombies of your application in the image.

> - Build a special image for deployment without, RB, Shout, eCompletion, ...

Oh, you mean the image I usually work in? ;-) I'm old fashioned, still
typing and reading everything myself ;-)

Michael

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

Re: Preparing a Seaside Squeak application for Production

Philippe Marschall
In reply to this post by Philippe Marschall
2006/11/16, Philippe Marschall <[hidden email]>:

> 2006/11/16, Sébastien Rocca-Serra <[hidden email]>:
> > Hi, We develop a Seaside Web application that will soon go in production.
> >
> > It's our first experience with Seaside & Squeak, so we need advice
> > before installing the image on the production server.
> >
> > Context
> > -------
> > We plan to use a headless 3.8 image with Seaside 2.6 on a Debian Sarge
> > with a 3.9.7 VM, and we use MySQL 5.0 for persistence.
>
> Is there a special reason why you don't use the latest (3.9.8) vm?
>
> > We need to address high traffic.
> >
> > Questions
> > ---------
> > - Is it safer to use a latest version of Seaside 2.6 for bug fixes (like
> > 118+), or use an older one (under 100 or so)?,
>
> Latest. Especially since old doesn't mean stable, just old.
>
> > - Is Squeak 3.8 better suited to Seaside 2.6?
> > - Is Squeak 3.9 better suited to Seaside 2.6?
>
> Make sure you have FastSocketStream. It's in 3.8.1 or 3.9.
>
> > - Are there subtle performance tweaks, (silly example: closing all
> > windows in the image)?
>
> - Yeah, close those Morphs. Weird things can happen if you leave them
> up open too long.
> - Especially close the Transcript.
> - Flush the Monticello Cache
> - Build a special image for deployment without, RB, Shout, eCompletion, ...
The patches we apply against 3.8, they are all in 3.7. I don't know
what of this is in 3.8.1.

Characters are improperly stored: http://bugs.impara.de/view.php?id=2254
Integer>>printOn:base:showRadix: http://bugs.impara.de/view.php?id=2229
printShowingDecimalPlaces: http://bugs.impara.de/view.php?id=1837 (Avi)
Utilites class >> #floatPrecisionForDecimalPlaces:
http://bugs.impara.de/view.php?id=2187
categoryspeedup-al.1.cs.gz

Patches to consider:
TimeForSpeed: http://bugs.impara.de/view.php?id=4669
accurateDateAndTimeNow-brp: http://bugs.impara.de/view.php?id=0000474
Dictionary fix (again in 3.9)

You might also want to experiment with a Kernel/Minimal/* Image.

And a Monticello version from Impara or a backport.

Philippe

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

Re: Preparing a Seaside Squeak application for Production

Philippe Marschall
2006/11/16, Philippe Marschall <[hidden email]>:

> 2006/11/16, Philippe Marschall <[hidden email]>:
> > 2006/11/16, Sébastien Rocca-Serra <[hidden email]>:
> > > Hi, We develop a Seaside Web application that will soon go in production.
> > >
> > > It's our first experience with Seaside & Squeak, so we need advice
> > > before installing the image on the production server.
> > >
> > > Context
> > > -------
> > > We plan to use a headless 3.8 image with Seaside 2.6 on a Debian Sarge
> > > with a 3.9.7 VM, and we use MySQL 5.0 for persistence.
> >
> > Is there a special reason why you don't use the latest (3.9.8) vm?
> >
> > > We need to address high traffic.
> > >
> > > Questions
> > > ---------
> > > - Is it safer to use a latest version of Seaside 2.6 for bug fixes (like
> > > 118+), or use an older one (under 100 or so)?,
> >
> > Latest. Especially since old doesn't mean stable, just old.
> >
> > > - Is Squeak 3.8 better suited to Seaside 2.6?
> > > - Is Squeak 3.9 better suited to Seaside 2.6?
> >
> > Make sure you have FastSocketStream. It's in 3.8.1 or 3.9.
> >
> > > - Are there subtle performance tweaks, (silly example: closing all
> > > windows in the image)?
> >
> > - Yeah, close those Morphs. Weird things can happen if you leave them
> > up open too long.
> > - Especially close the Transcript.
> > - Flush the Monticello Cache
> > - Build a special image for deployment without, RB, Shout, eCompletion, ...
>
> The patches we apply against 3.8, they are all in 3.7. I don't know
> what of this is in 3.8.1.
That should read:
" The patches we apply against <= 3.8, they are all in 3.9. I don't
know  what of this is in 3.8.1."

> Characters are improperly stored: http://bugs.impara.de/view.php?id=2254
> Integer>>printOn:base:showRadix: http://bugs.impara.de/view.php?id=2229
> printShowingDecimalPlaces: http://bugs.impara.de/view.php?id=1837 (Avi)
> Utilites class >> #floatPrecisionForDecimalPlaces:
> http://bugs.impara.de/view.php?id=2187
> categoryspeedup-al.1.cs.gz
>
> Patches to consider:
> TimeForSpeed: http://bugs.impara.de/view.php?id=4669
> accurateDateAndTimeNow-brp: http://bugs.impara.de/view.php?id=0000474
> Dictionary fix (again in 3.9)
>
> You might also want to experiment with a Kernel/Minimal/* Image.
>
> And a Monticello version from Impara or a backport.
>
> Philippe
>

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

Re: Preparing a Seaside Squeak application for Production

Yanni Chiu
In reply to this post by Michael Rueger-6
Michael Rueger wrote:
> For testing and debugging purposes you may want to run the image headed
> against a VNC server.

I start the image with:

     squeak -vm display=none,sound=none foo.image

where the image has been saved with the VNC server already running.
Is this what is meant by "headed against a VNC server"?

> And, as happens on a regular basis to our SqueakSource servers, the
> image locks up, just connecting to VNC an wiggling the mouse brings it
> back to life.

I run the 3.9-8 VM on Ubuntu-6.06.1-server.
I mostly see the CPU usage at 49%, and sometimes at 99%.
When things are stable, the usage is 8%. I've only been
running on Ubuntu for about two weeks. Any ideas on how
to get the image into a stable usage mode? Is there a
consolidated list somewhere of things to try?

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

Re: Re: Preparing a Seaside Squeak application for Production

Adrian Lienhard

On Nov 16, 2006, at 21:50 , Yanni Chiu wrote:

>> And, as happens on a regular basis to our SqueakSource servers,  
>> the image locks up, just connecting to VNC an wiggling the mouse  
>> brings it back to life.
>
> I run the 3.9-8 VM on Ubuntu-6.06.1-server.
> I mostly see the CPU usage at 49%, and sometimes at 99%.
> When things are stable, the usage is 8%. I've only been
> running on Ubuntu for about two weeks. Any ideas on how
> to get the image into a stable usage mode? Is there a
> consolidated list somewhere of things to try?

Which version of the image are you running?
Have you checked what Squeak is doing (->Process browser)? Maybe the  
weak array finalization process is taking up all the cycles...
Also, in the beta version of 3.9 there was the higherPerformance  
preference turned on (->Preferences higherPerformance) which on one  
of our old test server made the image idle at around 30% IIRC!

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

Re: Preparing a Seaside Squeak application for Production

Yanni Chiu
Adrian Lienhard wrote:
> On Nov 16, 2006, at 21:50 , Yanni Chiu wrote:
>> I mostly see the CPU usage at 49%, and sometimes at 99%.
>> When things are stable, the usage is 8%.
>
> Which version of the image are you running?
> Have you checked what Squeak is doing (->Process browser)? Maybe the  
> weak array finalization process is taking up all the cycles...

I tried the hint from Lukas on the other half of
this thread on the squeak-dev list - close windows
and remove flaps.

So, I closed the Transcript in my current project,
opened a new Morphic project, entered it, then
turned off the flaps. I did the above via VNC, then
I did a save image (the image was last saved from
a Windows system - I'm not sure whether this would make
image startup faster, or would affect CPU usage).

Now, the response is snappy, and the squeak process
doesn't even show up on the "top" list (in fact,
sshd is at the top with 0.3%).

Thanks all 'round.

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

Re: Preparing a Seaside Squeak application for Production

Yanni Chiu
Yanni Chiu wrote:
> Now, the response is snappy, and the squeak process
> doesn't even show up on the "top" list (in fact,
> sshd is at the top with 0.3%).

Using "top -d 0.25" to refresh every 1/4 second,
I see squeak show up at 4%, with spikes up to
the 90's when processing a request.

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