[Systems] Discovery_One Was a.sl.o migration.
bernie at codewiz.org
Wed Nov 11 14:17:08 EST 2009
El Thu, 05-11-2009 a las 10:25 +0100, Sascha Silbe escribió:
> > I _think_ that our current bottle neck is our Apache server. Because
> > we are running many services, we have several Apache mod_* enabled.
> > This gives us heavy Apache processes.
> In theory, Linux is supposed to create COW (Copy-on-write) mappings on
> fork(), i.e. only memory that gets modified by the child process will be
> newly allocated.
> How well that works in practice with Apache I don't know, but maybe
> bernie does.
Apache modules are like shared libraries. The overhead of each library
you load is 4 more VMA (virtual memory areas) in the process address
space: code, read-only data, data and bss. On fork, there may be a tiny
overhead to increment and decrement their use-count.
Our Apache instance has 648 maps, many of which come from locale files
and non-optional libraries. A minimal Apache instance on Karmic has 200
maps. On Rawhide, 334 maps.
That said, I think this overhead is really negligible compared to all
the work required to serve a request. I'd be more concerned for the cost
of each virtual host as well as global rewrite rules, aliases and
filetypes. Each request has to be matched against a a long series of
patterns before being dispatched to the proper handler.
The above overhead may sound huge--and it probably is for serving static
content. However, it's unmeasurable noise compared with the 20-30ms
required to process a PHP page of a non-trivial application like Remora
or Mediawiki. And PHP is still the most efficient server-side language
you could use.
// Bernie Innocenti - http://codewiz.org/
\X/ Sugar Labs - http://sugarlabs.org/
More information about the Systems