Thanks for the reply.
> On Thu, Apr 01, 2004 at 09:56:48PM -0600, Jimmie Houchin wrote:
>>I took one of the Yaws simple examples and inserted the above
>>text into the "out" string. The performance drops tremendously.
>>Even the Yaws main page doesn't perform like or close to the
[snip of sample]
> Could it be that the construction of all the
> cons cells in your BIG HONKING STRING is eating the cpu ???
> Maybe, it's certainly fairly expesible to construct lists
> Try a binary
> <<"BIG HONKING STRING">>
> instead. Or read a fatso binary from an ets table or something.
Okay, will do.
I guess it does the construction every request? I thought that it would
cache the results.
>>/ ~114 (Yaws local home page)
>>Apache 2.x (latest)
>>Doing /usr/local/bin/yaws -I
>>shows that debugging is on.
>>I can't find (or have overlooked) how to turn off debugging.
> Debugging is on while running in interactive mode.
> In earlier releases, debug on didn't have any effect on
> performance. Now I check all headers for things such as
> correct \r\n and so on. If you set
> debug = false
> In the yaws.conf file, I _think_/_hope_ debugging will be
> turned off while running in interactive mode.
>>I have also tried /usr/local/bin/yaws -D -heart
> Which runs yaws without the additional debug checks.
>>Results are similar.
> When I've run speed tests earlier, I haven't seen any major
> difference in speed between dyn content and static content.
> I don't think I've ever tested with any BIG HONKING STRINGS though :-)
Well I was just playing. It is definitely not normative of what I will
be doing. I just didn't understand why the major difference in serving
superficially very similar pages.
I also don't understand what it is about the index.yaws page
That is just as slow, only 114 rps.
>>Below is my yaws.conf file.
> I see that you've turned off the access log. This is ofcource
> the right thing to do. Oddly enough, I haven't seen any speedups
> when doing that. Logging ought to be fairly expensive.
My experience agrees. I saw very minimal if any speedups when switching
> And finally, what we should compare to isn't static content from
> apache which is pretty uninteresting. There are other webservers
> that excel in shipping static content fast. Boa is one such nice
> and fast little static content webserver.
Agreed. But it is an easy first comparison.
But Yaws/Erlang give a nice all-in-one capability. Most any other
all-in-one situation is much, much slower both in static and dynamic
content. ie: Zope, other Python, Smalltalk, etc.
> What we should compare against is a
> apache + php reading data from mysql and ship the data.
> We should use mnesia.
I am definitely going to use mnesia.
> Noone has yet done such a benchmark. I think it would be fairly
> straightforward to construct a tiny dyn-content app in both
> technologies and compare performance.
I'm not getting my hands dirty with PHP. :)
Apache/mod_python perform pretty reasonable though.
I don't think anything will touch a correctly built Erlang/Yaws/Mnesia site.
However I think most Apache/mod_whatever situations aren't going to be
as nice as Erlang/Yaws. I believe Erlang/Yaws will win in robustness,
ease of development, built-in database, dynamic loading of modules and
reloading, etc. I believe in much of the Apache world reloading
modules/apps/scripts is somewhat more trouble.
Erlang/Yaws/Mnesia provide a tremendous foundation to build on. I think
when we see some ready-to-run apps that PHP, Zope, etc. have like BBS,
Forums, Content Management, etc. that will help with Erlang/Yaws/Mnesia
deployment. I believe that day will come.