Messages in this thread |  | | | Date | Sun, 8 Mar 1998 18:08:20 -0800 (PST) | | From | Dean Gaudet <> | | Subject | Re: mmap() versus read() |
| |
On Mon, 9 Mar 1998, Richard Gooch wrote:
> The syscall overhead is peanuts. It's more like 10 000 times faster > than a disc seek. The syscall overhead is simply not worth > considering.
It's 10k times faster sure if you *have to go to disk*. What happens when I build a 512Mb web server with only 256Mb of active content? Suddenly I'm paying for per-request syscalls I don't need. I know, it's all about trade-offs :)
I could show you a beautiful trace of apache 1.3 hacked up a bit in which it served 75 requests in something like 20 system calls. This means there are no per-request syscalls required currently... There's a few connection setup and teardown calls, and the rest were writev()s or write()s -- the client was http/1.1 pipelining, so I'm "cheating"... but pipelining clients are here already and 6 months to a year from now they should be common.
The reason I started this thread is that I've got a 128Mb server with about 150Mb of active data... so on it yup extra syscalls would be no problem at all. As an application programmer though, I'm not sure how I can discern the two cases efficiently.
Incidentally, benchmarks, and most high volume sites I've dealt with fall into the first category -- working sets are smaller than RAM. I'd crank up the memory on my 128Mb box... except it's a Tyan Tomcat III and it's snobbish about the RAM it will talk with.
Dean
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu
|  |