Deploying Seaside

17 November, 2006

Deploy Seaside

I just saw a very nice thread on the Seaside mailing list about deploying a seaside application. I thought I’d summarize the suggestions for this article.

First you should consider using a newer image. If you have to use an older image then make sure you load the following:

List from Philippe Marschall:

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)

From Michael Reuger:

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.

When building a deployment image consider these suggestions from Philippe:

– Close 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, …

Yanni Chiu shared experiences and received some help with optimization:

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.

I mostly see the CPU usage at 49%, and sometimes at 99%.
When things are stable, the usage is 8%. Any ideas on how to get the image into a stable usage mode?

Adrian Lienhard responded:

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!

Ultimately Yanni found some solutions:

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. 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.

So in summary for deploying seaside consider a newer image, run headless or headed with VNC, check your optimization settings, close morphs especially Transcript and Flaps, check and clean your memory and caches, then save without development tools.

Happy Coding!

6 Responses to “Deploying Seaside”


  1. A suggestion from Keith Hodges for kernalImage with Seaside and REPL server (VNC)

    Putting Installer through its paces.

    0. Begin with KernelImage-7067.image
    1. (FileStream readOnlyFileNamed: ‘Network.st’) fileIn.
    2. (HTTPSocket httpGet: ‘squeak.warwick.st/Installer.st’) fileIn.
    3. Installer installUrl: ‘wiki.squeak.org/squeak/KernelLoadHeadlessSeasideServer’.

    The result can be seen in http://squeak.warwick.st/pr_kernelimages/

    The image size is 5.7Mb

    best regards

    Keith


  2. […] summary Ron! If you enjoyed this article, please share it with others at del.icio.us, digg, or reddit, or check out one of these related posts… Aha! Moments in LispSeaside and Smalltalk InterestSpreadingSeaside, Making the Impossible, Possible.What Do You Want to Read About Seaside or Smalltalk?On BloggingSeaside and Page Templates, Again…Top Posts […]


  3. […] Deploying Seaside « The Weekly Squeak how to put a Squeak image into a good state for deployment. (tags: squeak seaside) […]

  4. Philippe Says:

    Hello,
    I am trying to build the HlessSeaside and I have a problem with the URI: ‘wiki.squeak.org/KernelLoadHeadlessSeasideServer’. It seems that the script has been moved to ‘wiki.squeak.org/squeak/KernelLoadHeadlessSeasideServer’.
    Last the content seems to be broken.
    Last, I tried to use directly the http://squeak.warwick.st/pr_kernelimages/ but it doesn’t work either.
    Thanks in advance for help,
    Philippe


  5. Thanks Philippe,

    I edited my comments to reflect the change to wiki.squeak.org/squeak/KernelLoadHeadlessSeasideServer. I checked the link for pr_kernelimages and it appears to be working now.

    Ron

  6. gcorriga Says:

    @Philippe:

    The wiki underwent a migration at the end of December, so the correct url is the one you have identified. As for the warwick.st link, it works for me.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: