Simple Socket Question?

Jimmie Houchin jhouchin at
Tue Feb 18 15:03:45 UTC 2003

This morning I was able to duplicate the server crash. It has not been 
consistently duplicatable but I have done it.

 From a clean startup of the current stable VM and a 3.5a image I opened 
a Workspace and Transcript and inserted Avi's code into the workspace.
I executed Avi's code and ran the ab tests.

I then copied and pasted Avi's code into another section on the 
Workspace. I changed the variable names, yesterday I didn't. (I don't 
know if that impacts things or not.)

I added a bunch of 'Hello Worlds!' to the output string. I changed the 
port and executed.

I then ran ab and the second time I ran ab the server crashed.

Now to clarify things. The VM did not crash, only the code from Avi. I 
was able to restart the server and continue testing without a crash.

Don't know if that helps, but there it is.

Jimmie Houchin

John M McIntosh wrote:
> Well I think Ian would like to know about the "I also crashed the  
> server with -n10000. :)"
> On Monday, February 17, 2003, at 07:41  PM, Jimmie Houchin wrote:
>> Avi Bryant wrote:
>>> On Mon, 17 Feb 2003, Jimmie Houchin wrote:
>>>> Hello,
>>>> I'm trying to test the performance of Squeak for very simple http  
>>>> serving.
>>>> The test I want to perform is Squeak answering a simple request like
>>>> http://localhost:8000/test
>>>> with nothing more than a simple string like 'Hello World!'.
>>>> I want it as basic, low overhead (as fast) as possible.
>>> If you have Comanche loaded (and thus its ConnectionHandler class), I
>>> think this is minimal:
>>> |output listener|
>>> output _ 'HTTP/1.0 200 OK\Content-Type: text/html\\Hello World'  
>>> withCRs withInternetLineEndings.
>>> listener _ ConnectionHandler
>>>           onPort: 8000
>>>           handler: [:s | s getData; sendData: output; closeAndDestroy]
>>>           priority: Processor highIOPriority.
>>> listener start.
>>> On my system (1.4Ghz Athlon), ab gives me this:
>>> Concurrency Level:      5
>>> Time taken for tests:   0.480 seconds
>>> Complete requests:      1000
>>> Failed requests:        0
>>> Broken pipe errors:     0
>>> Total transferred:      55000 bytes
>>> HTML transferred:       11000 bytes
>>> Requests per second:    2083.33 [#/sec] (mean)
>>> Time per request:       2.40 [ms] (mean)
>>> Time per request:       0.48 [ms] (mean, across all concurrent  
>>> requests)
>>> Transfer rate:          114.58 [Kbytes/sec] received
>> Thanks Avi.
>> I tried it on my 700mhz Athlon Debian machine.
>> I got between 530 and 680 with -n1000.
>> I got up to 852 with -n10000.
>> I also crashed the server with -n10000. :)
>> With Comanche I got a variety of results.
>> With StaticFileModule about 65rps.
>> With HelloWorldModule up to 266rps with -n10000.
>> Just trying to get an idea of what Squeak can do webservingwise.
>> I wonder if Ian's new VM code will improve socket performance?
>> J5?
>> This is on a 3.5a image with his latest stable VM.
>> Once again thanks.
>> Jimmie Houchin
> -- 
> ======================================================================== 
> ===
> John M. McIntosh <johnmci at> 1-800-477-2659
> Corporate Smalltalk Consulting Ltd.
> ======================================================================== 
> ===

More information about the Squeak-dev mailing list