17 November, 2006
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
printShowingDecimalPlaces: http://bugs.impara.de/view.php?id=1837 (Avi) Utilites class >> #floatPrecisionForDecimalPlaces:
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.