Simple Socket Question?

Jimmie Houchin jhouchin at texoma.net
Tue Feb 18 05:56:00 UTC 2003


John M McIntosh wrote:
> Well I think Ian would like to know about the "I also crashed the  
> server with -n10000. :)"

I can't actually haven't duplicated it since. But here is what I was 
naively doing at the time. And I think this may be the root of the issue.

I was experimenting with various webserving options.
I had Comanche HelloWorldModule on one port, StaticFileModule on another 
port, Avi's code on another port, Avi's code modified on another port.

With all of that while benchmarking using ab I decided to attempt to 
ab(use) Avi's code with -n10000. I then got errors the first time. The 
second and third attempts with ab returned empty requests. So I checked 
the page in Mozilla. Nothing.

I then selected Avi's code and did doit.
It never failed again.

With only Avi's code I just ran ab multiple times with -n10000.
No failures. I then ran ab with -n50000.
No failures and 887rps. :)

Maybe it was the multiple socket/port issue I think I read about.

Anyway, I hope this helps.

Tomorrow, I'll download his future VM and give it a go.

Jimmie Houchin






> 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 smalltalkconsulting.com> 1-800-477-2659
> Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
> ======================================================================== 
> ===
> 
> 
> 
> 




More information about the Squeak-dev mailing list