Grasping the concept of Classes & Categories

Daniel Salama dsalama at user.net
Mon Jun 20 01:48:32 UTC 2005


Chris,


On Jun 17, 2005, at 4:03 PM, Chris Muller wrote:

> Ah well, it sounds like you *do* have a reason to commingle your  
> Customers
> then.  My answer assumed none, other than code-reuse benefits.
>
>
>> However, given my limited resources for hardware (mainly), I wasn't
>> sure if I could, efficiently, run two Squeak images, each with
>> Seaside listening on different ports and both front-ended by Apache
>> on a single machine. I wasn't sure how two images could run on the
>> same machine in terms of performance, processes, memory, etc.
>> Assuming these would run on a dual-Xeon machine with 2GB RAM, would
>> that be feasible?
>>
>
> That's a valid question.  Given your end-goal is to have good- 
> performance for
> users of both applications, an equally valid question is; will one
> single-threaded Squeak VM efficiently run both applications?

Eventually, I'll be able to properly architect the system across  
multiple machines where Apache, Storage (MySQL and/or GOODS), Squeak,  
etc. It's just that for now, all I have is this single machine.

>
> My guess is a dual-Xeon machine with 2GB RAM will not run a single  
> Squeak image
> any faster than a single-Xeon machine.

I don't know too much about the behind the scenes of Squeak so I  
don't know about its multi-process/multi-threaded capabilities  
coexisting with the support provided by the host OS.

>
> For analogy, I currently, this very second as I'm typing, have five  
> running
> images on my 768MB 1.3GHz IBM laptop.  One of them is listening on two
> different ports, two others are listening on one port each.  A  
> fourth one is
> not listening but is sending requests to the first three.  Millions  
> of requests
> are being sent to each other like mad.   Windows Task Manager shows  
> 100% CPU
> used for the last hour.  Meanwhile, I type this e-mail in Mozilla  
> and I don't
> even notice a spec of delay between keystrokes or any indication of  
> stress.
> The same is true in the fifth Squeak image which is not  
> participating in the
> TCP/IP party.  That's because they are running on their own OS thread.

That's pretty good. I think that if my apps perform similar to that,  
I should be fine for some time.

>
> However, if I try to type in one of the other images that *is*
> sending/receiving  requests, I notice little pauses between my  
> keystrokes.
> This occurs because each VM runs in but a single thread, and when  
> that thread
> is handling a request, my keystrokes and/or the UI updates are  
> blocked.
>
> The point is, requests processed by one app will most likely  
> temporarily block
> requests for the other app, when both are running in the same  
> image.  Something
> worth considering for your planning..

I've noticed that when I have taxed a Squeak image running bulk data  
transfers using any of the Squeak OODB interfaces (I haven't noticed  
the same when doing similar bulk data transfers on MySQL or Postgres)

>
> Of course, if you're restricted on port #'s, that could present its  
> own
> challenge..

I guess I could always start Seaside (WAKom) to listen on different  
ports and have Apache redirect appropriately.

>
>  - Chris
>

Thanks,
Daniel




More information about the Squeak-dev mailing list