<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.3314" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><FONT face="Trebuchet MS" color=#0000ff size=2><SPAN 
class=625545102-30042008>Hi Miguel,</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face="Trebuchet MS" color=#0000ff size=2><SPAN 
class=625545102-30042008></SPAN></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face="Trebuchet MS" color=#0000ff size=2><SPAN 
class=625545102-30042008>&nbsp;&nbsp;&nbsp; you always have and share 
interesting experiences. I like to use Monit not only because you can set it to 
starts workers images but also you can set it to provide you of more details on 
the run. For instance you can set it send you an email alert when a worker mem 
is &gt; 150MB or the CPU load average is &gt;25% for more than 5 minutes. And, 
beside the cool email alert, you can preset reactions like restarting the 
worker, etc.</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face="Trebuchet MS" color=#0000ff size=2><SPAN 
class=625545102-30042008></SPAN></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face="Trebuchet MS" color=#0000ff size=2><SPAN 
class=625545102-30042008></SPAN></FONT><FONT face="Trebuchet MS" color=#0000ff 
size=2><SPAN class=625545102-30042008>&nbsp;&nbsp;&nbsp; That way your service 
dont need to reach perfection to be useful and when things go wrong with a 
worker it most probably restart in few minutes unnatended. I'm very satisfied 
with it. Also Munin is cool but it is for a different purpose, it plots lots of 
metrics evolutions in time of your servers so you can watch more general 
performance patterns.</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face="Trebuchet MS" color=#0000ff size=2><SPAN 
class=625545102-30042008></SPAN></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face="Trebuchet MS" color=#0000ff size=2><SPAN 
class=625545102-30042008>&nbsp;&nbsp;&nbsp; There are perfect setup how-tos for 
those interested,</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face="Trebuchet MS" color=#0000ff size=2><SPAN 
class=625545102-30042008>&nbsp;&nbsp; </SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face="Trebuchet MS" color=#0000ff size=2><SPAN 
class=625545102-30042008>&nbsp;&nbsp;&nbsp;cheers,</SPAN></FONT></DIV>
<DIV><FONT face="Trebuchet MS" color=#0000ff size=2></FONT>&nbsp;</DIV>
<DIV align=left><SPAN class=250542422-20122006>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt" align=left><?xml:namespace prefix 
= st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><st1:PersonName 
ProductID="Sebastian Sastre&#13;" w:st="on"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Trebuchet MS'">Sebastian 
Sastre<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" 
/><o:p></o:p></SPAN></st1:PersonName></P></DIV></SPAN><BR>
<BLOCKQUOTE 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader lang=es dir=ltr align=left>
  <HR tabIndex=-1>
  <FONT face=Tahoma size=2><B>De:</B> seaside-bounces@lists.squeakfoundation.org 
  [mailto:seaside-bounces@lists.squeakfoundation.org] <B>En nombre de </B>Miguel 
  Cobá<BR><B>Enviado el:</B> Martes, 29 de Abril de 2008 20:55<BR><B>Para:</B> 
  Seaside - general discussion<BR><B>Asunto:</B> Re: [Seaside] Re: Seaside 
  memory consumption?<BR></FONT><BR></DIV>
  <DIV></DIV><BR><BR>
  <DIV class=gmail_quote>On Tue, Apr 29, 2008 at 2:40 PM, Andreas Raab &lt;<A 
  href="mailto:andreas.raab@gmx.de">andreas.raab@gmx.de</A>&gt; wrote:<BR>
  <BLOCKQUOTE class=gmail_quote 
  style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
    <DIV class=Ih2E3d>Philippe Marschall wrote:<BR>
    <BLOCKQUOTE class=gmail_quote 
    style="PADDING-LEFT: 1ex; BORDER-LEFT: rgb(204,204,204) 1px solid">Honestly 
      this is a very hard question that probably only marketing<BR>developments 
      can answer seriously (JEE is twice as fast as .Net). If<BR>have seen such 
      numbers for no web framework. There are so many free<BR>variables. How 
      have active users, what session lifetime, how active<BR>are they, do they 
      come in bursts, how complicated is your site, what<BR>image do you have, 
      which VM, which GC settings, which patches, which<BR>OS, which CPU, .... . 
      Out of the blue I would say Seaside and Magritte<BR>are probably the most 
      memory hungry choices you can make. Lots of<BR>classes, lots of objects, 
      lots of block contexts, .... Having that<BR>said I know of no one who has 
      run into memory problems with Seaside /<BR>Magritte but this means very 
      little. In general persistence is often<BR>bottleneck. As you run code 
      besides it I doubt any numbers would be<BR>applicable to 
    you.<BR></BLOCKQUOTE><BR></DIV>I fully understand the number of variables in 
    the setup so what I'm looking for is whether anyone has experimented with 
    -say- running Seaside inside a 128MB environment for a given site and load 
    factor and what their experiences were. For example, what does a small Pier 
    deployment require? (IIRC, it is built on top of Magritte so this may be the 
    closest in kind)
    <DIV class=Ih2E3d></DIV></BLOCKQUOTE>
  <DIV><BR>I had my app running from a VPS with just 256MB RAM. Of course after 
  the OS, apache, mysql, it lefted just 100MB or so. It was just imposible to 
  work. So I upgraded to 512MB RAM and all was running ok for days without 
  problems with my app. <BR><BR>but...<BR><BR>The image virtual memory grew and 
  grew until took the entire remaining RAM to the point that I couldn't login 
  with ssh. Not memory for forking a ssh procces was left. I had to restart the 
  server to take control of it (the image didn't started automatically). I found 
  an option for the squeakvm to limit the max memory available (it is not 
  available because if the images need more memory it will begin to swap and 
  will be slow, but men, it worked).<BR>After reboot, I was left with 350 MB 
  free before running my image. So I started the image with<BR><BR>squeakvm 
  -mmap 300m -headless deploy.image<BR><BR>so the squeak used at most 300 mb and 
  the os had 50 MB for ssh logins.<BR><BR>Also, I changed Apache for lighttpd 
  with fastcgi so to reduce the RAM comsumption.<BR><BR>Miguel 
  Cobá<BR>&nbsp;</DIV>
  <BLOCKQUOTE class=gmail_quote 
  style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
    <DIV class=Ih2E3d><BR><BR>
    <BLOCKQUOTE class=gmail_quote 
    style="PADDING-LEFT: 1ex; BORDER-LEFT: rgb(204,204,204) 1px solid">In 
      general people who come up with such questions have an idea about<BR>the 
      load they'll face or have to support so they can write 
    tests.<BR></BLOCKQUOTE><BR></DIV>Yes, I certainly do (it'd be in the range 
    of 1-2 man-hours of use a day, basically filling in a bunch of forms and 
    running a few reports mostly by a single user). But I'm not going to run a 
    big test suite for something that is supposed to be a very small 
    application. I just want to make sure I'm not going to screw up the 
    production app by running Seaside next to it.
    <DIV class=Ih2E3d><BR><BR>
    <BLOCKQUOTE class=gmail_quote 
    style="PADDING-LEFT: 1ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
      <BLOCKQUOTE class=gmail_quote 
      style="PADDING-LEFT: 1ex; BORDER-LEFT: rgb(204,204,204) 1px solid">What<BR>about 
        memory consumption of Seaside apps that run for several months 
        without<BR>restart (session cleanup etc)?<BR></BLOCKQUOTE><BR>Session 
      cleanup happens even without restarts. If you run the<BR>WeakDictionary 
      patches of Martin van Löws (I hope I got the name<BR>right) you can 
      override SeasidePlatformSupport class &gt;&gt;<BR>#weakDictionaryOfSize: 
      which should release sessions earlier. I have<BR>seen images that run 
      without troubles for months and images that have<BR>trouble staying up for 
      more than a few days.<BR></BLOCKQUOTE><BR></DIV>Thanks, that's good to know, 
    too. Where are these patches?<BR><BR>Cheers,
    <DIV>
    <DIV></DIV>
    <DIV class=Wj3C7c><BR>&nbsp;- 
    Andreas<BR>_______________________________________________<BR>seaside 
    mailing list<BR><A href="mailto:seaside@lists.squeakfoundation.org" 
    target=_blank>seaside@lists.squeakfoundation.org</A><BR><A 
    href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside" 
    target=_blank>http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</A><BR></DIV></DIV></BLOCKQUOTE></DIV><BR></BLOCKQUOTE></BODY></HTML>