Hi!
I wonder whether you can write a faster webserver in Dolphin Smalltalk than the ThinkTank example. That one works but is very slow. I can watch my browser (IE6) while it loads all pictures after it displayed the main web page. Serving the same pages via a bare simple threaded Java server (use a ServerSocket to accept calls, then spawn a new thread to handle the request and also wait again) is much faster. It looks like Dolphin is unable to parallelize the request processing. I tried to add a "[] fork" at the IMHO right places but failed. So my question is, is the ThinkTank server just not tuned for performance or is this a general problem with the Dolphin Sockets? Or to rephrase it: How to write a multithreaded server in Dolphin? Thanks, bye -- Stefan Matthias Aust // Truth Until Paradox |
I asked:
> I wonder whether you can write a faster webserver in Dolphin Smalltalk > than the ThinkTank example. That one works but is very slow. Well, I'm afraid I messed up my benchmarks. Java isn't faster than Dolphin. My benchmark transfers 1.6MB in 55 files. Both Smalltalk and Java need some 4 seconds to serve these files locally and 3 seconds if the browser runs on another computer (the server runs on a PII400 with W2KSP2 and .NET installed). I'm still curious what's the best way to construct a web server. An idea to improve speed is perhaps to support the "keep alive" option of HTTP/1.1 but that's all I can come up with. bye -- Stefan Matthias Aust // Truth Until Paradox |
"Stefan Matthias Aust" <[hidden email]> wrote in message
news:9rpr6r$u0p$00$[hidden email]... > I asked: > > > I wonder whether you can write a faster webserver in Dolphin Smalltalk > > than the ThinkTank example. That one works but is very slow. > > Well, I'm afraid I messed up my benchmarks. Java isn't faster than Dolphin. > My benchmark transfers 1.6MB in 55 files. Both Smalltalk and Java need some > 4 seconds to serve these files locally and 3 seconds if the browser runs on > another computer (the server runs on a PII400 with W2KSP2 and .NET > installed). I'm still curious what's the best way to construct a web > server. An idea to improve speed is perhaps to support the "keep alive" > option of HTTP/1.1 but that's all I can come up with. Have you tried the Dolphin port of the Camp Smalltalk Swazoo web application server? A useful link is: http://www.chartexplorer.com/dolphin/SWSpray/spraycode.html I don't know the authoratitive source for Dolphin Swazoo, but the Spray download contains it. Perhaps Jerry (Bell) and/or Steve (Waring) could comment further. Regards Blair |
Hi Stefan,
Swazoo uses a ServerSocket listening in one process, and forks each new connection in a separate process. HTTP1.1 persistent connections are supported, and all HTTP Messages from a single connection are handled in the same process. I have just started a new Swazoo wiki at; http://www.dolphinharbor.org:8080/SwazooDocumentation The wiki contains links to the download pages. For your benchmarking, you may be interested in looking at OpenSTA. It is an open source web server load tester at; http://www.opensta.org/ The version I have works well, and is very effective in testing a server under a variety of load conditions. If you add Swazoo into your testing mix, I would be interested in hearing how it performs. Thanks, Steve www.dolphinharbor.org |
Steve,
"Steve Waring" <[hidden email]> schrieb im Newsbeitrag news:9rrnus$vh27p$[hidden email]... > Hi Stefan, > > Swazoo uses a ServerSocket listening in one process, and forks each new > connection in a separate process. HTTP1.1 persistent connections are > supported, and all HTTP Messages from a single connection are handled in the > same process. That sounds good. While I was aware of the dolphinharbor website I didn't realized that Spray contains a web server. I thought it was some SOAP/Webservice only thing. Actually, the web pages make it a little bit difficult IMHO to understand what your project is all about. BTW, do you plan to host your side on a Dolphin based system in future? :-) > For your benchmarking, you may be interested in looking at OpenSTA. It is an > open source web server load tester at; > http://www.opensta.org/ > > The version I have works well, and is very effective in testing a server > under a variety of load conditions. If you add Swazoo into your testing mix, > I would be interested in hearing how it performs. Thanks for the pointer. If I generate some benchmarks, I'll publish the results. bye -- Stefan Matthias Aust // Truth Until Paradox |
> That sounds good. While I was aware of the dolphinharbor website I didn't
> realized that Spray contains a web server. I thought it was some > SOAP/Webservice only thing. Actually, the web pages make it a little bit > difficult IMHO to understand what your project is all about. > We've never claimed to be good communicators! DolphinHarbor is just a place for Dolphin folks to come and play. So far most of the 'play' has been centered around Steve Waring's very excellent Spray project, which is a nifty web services package (ie SOAP client and server implementation in Dolphin). Spray runs on top of Swazoo, which is the Camp Smalltalk web application server I ported to Dolphin a while back. Other projects are always welcome! We'd set up a listserv for the site, but so far only two of us are active and it's been simpler to just email back and forth. But if there is interest we'd be happy to set up such a list. > BTW, do you plan to host your side on a Dolphin based system in future? :-) > We are using a Squeak-based swiki for the docs, but everything else on the site is running in Dolphin. That includes the port 80 website itself, along with 25+ test web services that are deployed and in use on a daily basis by various groups involved in SOAP interop testing. Steve has done a great job on Spray and it performs very well in those tests- you can see the results on the site. We'd love to see a Dolphin-based wiki built on top of Swazoo, but we just haven't had the time. We'd eject the Swiki in a heartbeat if such a beastie existed, if only for the sheer niftyness of running a pure Dolphin website. Any volunteers? :) Please let me know if I can answer any more questions! Jerry Bell [hidden email] > > For your benchmarking, you may be interested in looking at OpenSTA. It is > an > > open source web server load tester at; > > http://www.opensta.org/ > > > > The version I have works well, and is very effective in testing a server > > under a variety of load conditions. If you add Swazoo into your testing > mix, > > I would be interested in hearing how it performs. > > Thanks for the pointer. If I generate some benchmarks, I'll publish the > results. > > > bye > -- > Stefan Matthias Aust // Truth Until Paradox > > |
In reply to this post by Stefan Matthias Aust
Hi Stefan,
> SOAP/Webservice only thing. Actually, the web pages make it a little bit > difficult IMHO to understand what your project is all about. Thanks for the feedback! I have uploaded a page to; http://www.dolphinharbor.org/qad/welcome/about.html Does this help? I am working on the documentation at the moment, so any questions are very welcome. > BTW, do you plan to host your side on a Dolphin based system in future? :-) I have just read Jerrys reply (the check is in the mail :), and I think Swiki is great! Besides an annoying, but rare Windows only bug which results in Dolphin/Swazoo getting no cycles, it does everything I need. Thanks, Steve www.dolphinharbor.org |
Free forum by Nabble | Edit this page |