Messages in this thread | | | Date | Fri, 29 Dec 2000 19:13:28 +0100 | From | Jakob Østergaard <> | Subject | Re: linux 2.2.19pre and thttpd (VM-global problem?) |
| |
On Fri, Dec 29, 2000 at 08:04:21PM +0200, Petru Paler wrote: > On Fri, Dec 29, 2000 at 04:53:40PM +0100, Andrea Arcangeli wrote: > > On Fri, Dec 29, 2000 at 09:38:40AM +0200, Petru Paler wrote: > > > This is one of the main thttpd design points: run in a select() loop. Since > > > it is intended for mainly static workloads, it performs quite well... > > > > It can't scale in SMP. > > No one said it does, but it works nicely on UP.
What ?
The TCP stack is threaded, so things like checksum calculation will take advantage of multiple processors - right ?
Thes rest of the work is roughly copying data that isn't already cached from the disk into memory. Well, you have one disk so threads will buy you zero there.
Unless you do blocking I/O on the files or on the sockets, I fail to see how threads could possibly boost the performance on a web server that serves *static*only* pages.
99% of the real work is done by the kernel, so whether you have your user-space application threaded or not should not be an issue - the way that I see it...
Andrea, or someone else, would you care to enlighten me on that ?
(The reason I'm curious is because I'm about a month away from implementing something that would run high-bandwidth TCP transfers and I'm planning on keeping it single-threaded - unless someone can tell me that's a bad idea)
Thanks,
-- ................................................................ : jakob@unthought.net : And I see the elder races, : :.........................: putrid forms of man : : Jakob Østergaard : See him rise and claim the earth, : : OZ9ABN : his downfall is at hand. : :.........................:............{Konkhra}...............: - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
| |