On 12/12/06, Vlad Seryakov <[EMAIL PROTECTED]> wrote:

When i started this i did not want to be the fastest, i wanted to see
where we stand, even if it would turn out that we are the slowest, that
would mean it requires some work in optimization area. I am not looking
around for the fastest toolkit to switch, but as i told i caught myself
thinking that we are faster than apache/php and it turned out not true,
at least it requires special tuning or producing specific Tcl code to be
as fast as others.

Stephen Deasey wrote:
>
> This planet..?

Sorry, forgot the smiley face on the end of that one... :-)


Re the tuning thing, I think that's a bug.  If you need to write some
specific style of oddball Tcl or twiddle a dozen magic knobs then
chances are you're going to get it wrong. It's no good having
potential if you're not likely to achieve it.

That's why I think you should drop the acceptsize knob :-)  You've
proved that having no upper limit does not harm performance, and gains
all there is to gain by setting it to > 1.

Hey, if you do some more testing and find out it's really useful to
set it > 1 but < OS backlog, well sure. But as of now that isn't the
case and it's just another thing to get wrong. It's a pretty fine
distinction. You can tune the rate of acceptance with the OS backlog.

Multiple knobs invite errors. I'm pretty sure the long standing bug
with infinite loops in the driver thread depending on some odd
combination of input size and buffer size is due to the mixup between
'buffersize' and 'readahead'. There's one too many knobs there. What's
the difference between these two parameters?


There's really a lot we could do to improve things here. Have you ever
noticed a common question on the AOLserver mailing list is "how many
threads should I have" or "how many conns should I have" or "what size
should my database pool be"?

The answer is always: it depends!

Which is sorta-kinda strictly true, it depends on a lot of things. But
it's not very helpfull! So the person asks again, for anything,
please, what are y'all running?!

If you look at the ammount of variables in just this small, artificial
test you've been running here, and the number of people chiming in
with suggestions, and the improvement you got from "oh dear it's
slower than Apache" to 6000 ass-kicking request per second, I'd argue
that although technically speaking, "it depends" is the right answer,
it's so unlikely you'll have the time to lab test your set-up
accurately that it's really the wrong answer. Won't happen.

I'd go further. The code you write makes a difference, and that's
under your controll, but your site traffic is not. What if your forum
is slashdotted, or it's the week before christmas and your checkout is
smoked?  You don't controll, and aften can't predict, which resources
of your site will be in most demand. Threads, db handles, cache
memory?  So not only is it unlikely that you'll correctly tune the
magic knobs due to lack of time or knowledge, it just can't be done.

But there's still a lot of tuning knobs. We should fix that.

Reply via email to