All,
Hi. I'm using VisualWorks NC on Linux and have Squeak as well. I was going to be using VWNC for a semi-commercial usage but I may not be able to afford it commercially. I'm using it for a Web Server (using a Web Server I built in VW similar in concept to the Squeak PWS and an HTML framework I wrote). I'm curious if Squeak has general performance good enough to investigate using it as a web server.
Thanks and take care, -- Jay O'Connor joconnor@roadrunner.com http://www.roadrunner.com/~joconnor
"God himself plays the bass strings first when He tunes the soul"
I'm using [VWNC] for a Web Server (using a Web Server I built in VW similar in concept to the Squeak PWS and an HTML framework I wrote). I'm curious if Squeak has general performance good enough to investigate using it as a web server.
People are using it, so it's going to be a question of what kind of performance and features you need.
I built a web server for Gemstone Smalltalk and achieved scalability by using multiple Gems (each Gem is a VM). The HTTP server is a "Broker Gem" and redirects a request to one of the "Service Gems". Of course in Gemstone, all of these Gems are working on the same distributed "image" repository. In Squeak, they'd all have their own image so YMMV.
BTW when I did this there was some concern that a Web server in Gemstone would not perform well. Nevertheless, this code was used by a customer to run a "near real-time" distributed system (replacing HTTP with a proprietary protocol). It passed all of their acceptance tests and made it into production. During heavy use in production the system began to slow to a crawl. The customer was certain that the Gemstone piece was at fault. Analysis revealed that the problem was an IBM mainframe's TCP stack was not keeping pace. IBM fixed a bug in their stack on-line. As the fix was enabled the Gemstone system immediatey got back to full speed, never crashing during the ordeal.
So robust "mission critical" performance is possible in a Smalltalk-based Web server for some requirements. This production system supported as much as 1300 simultaneous connections to a single "image". Other typical scalable Web server tricks easily could be played to get significantly beyond that.
OTOH I would not think the investment worthwhile. Instead I would get one of the real Web servers like Apache. I am currently trying out the AOLserver, which is also free and full-featured. I would connect one of these Web servers to Smalltalk via CGI or some other mechanism. AOLserver has multiple TCL mechanisms which are really nice, including an "active server pages" like feature. The TCL can maintain socket connections to a Smalltalk playing the "application server" role, allowing Smalltalk to do anything that TCL can do like Smalltalk-based active server pages. This way you get all the features you'd otherwise have to build yourself, but you can still do everything you'd like to do with Smalltalk.
On Fri, 20 Nov 1998, Patrick Logan wrote:
I'm using [VWNC] for a Web Server (using a Web Server I built in VW similar in concept to the Squeak PWS and an HTML framework I wrote). I'm curious if Squeak has general performance good enough to investigate using it as a web server.
People are using it, so it's going to be a question of what kind of performance and features you need.
A lot of it depends on my implementation of the web server so I'm more curious about Squeak performance in general and particularly it's TCP/IP implementation. The rest is all pretty variable and I'll have to see as I go.
OTOH I would not think the investment worthwhile. Instead I would get one of the real Web servers like Apache
I'm already using Apache. I run the two side by side with Apache serving static content and Smalltalk serving the dynamic content.
I would connect one of these Web servers to Smalltalk via CGI or some other mechanism.
I avoided CGI because a) I already had the web server written so why build another piece of middleware? and b) CGI has problems (speed to start up, etc...)
This way you get all the features you'd otherwise have to build yourself
But I've already built them. The only thing it really doesn't do is handling non-html MIME types (images, and such) which is what I use Apache for.
but you can still do everything you'd like to do with Smalltalk.
-- Patrick Logan mailto:patrickl@gemstone.com Voice 503-533-3365 Fax 503-629-8556 Gemstone Systems, Inc http://www.gemstone.com
Take care, -- Jay O'Connor joconnor@roadrunner.com http://www.roadrunner.com/~joconnor
"God himself plays the bass strings first when He tunes the soul"
On Fri, 20 Nov 1998 11:23:43 -0700, you wrote (with possible editing):
All,
Hi. I'm using VisualWorks NC on Linux and have Squeak as well. I was going to be using VWNC for a semi-commercial usage but I may not be able to afford it commercially. I'm using it for a Web Server (using a Web Server I built in VW similar in concept to the Squeak PWS and an HTML framework I wrote). I'm curious if Squeak has general performance good enough to investigate using it as a web server.
Thanks and take care,
Why not just try it out? Squeak comes with a Web Server built in - called a Swiki server (Squeak Wiki). All you need is a sample page available on the web a few commands and you're in business. You may not want to run this commercially as it allows online editing, but at least you can test the performance and if it's ok for you, you can modify the framework. See the PWS (plugable web server) class et al.
Larry -- rapp@lmr.com
squeak-dev@lists.squeakfoundation.org