Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Perl > Perl Misc > mod_perl: sharing data across httpd childs ?

Reply
Thread Tools

mod_perl: sharing data across httpd childs ?

 
 
howa
Guest
Posts: n/a
 
      10-15-2008
I am refering to the tutorial (http://modperlbook.org/html/4-2-3-
PerlModule-and-PerlRequire.html),
about setting up Perl module memory sharing across http childs:


==================================

1. in httpd.conf

Added PerlRequire /home/www/cgi-bin/startup.pl

the its contents is:

use strict;

use lib "/home/www/cgi-bin/";

use TestPM ();

1;

==================================

2. The TestPM's content

use strict;

package TestPM;

my $data;

sub new {

my ($class) = @_;

my $self = {};

bless $self, $class;

return $self;
}

sub init {
$data = "1234567890" x 1000000; # 10M of data
}


==================================

3. test.cgi


#!/usr/bin/perl

print "Content-type:text/html\n\n";

use strict;

use TestPM;

TestPM::init();

==================================


By stress testing the test.cgi, I found memory is not shared at all,
using the top command, e.g.

>> top -bc -n 1 | grep httpd


11290 web 25 0 100m 23m 1620 R 47 0.3 0:00.29 /usr/
local/apache_1.3.41/bin/httpd
11247 web 20 0 101m 23m 1628 R 41 0.3 0:05.15 /usr/
local/apache_1.3.41/bin/httpd


As you can see, each httpd is using 23m, and 1620bytes shared, which I
belive the much data is shared....


Any idea?

Thanks.




 
Reply With Quote
 
 
 
 
Joost Diepenmaat
Guest
Posts: n/a
 
      10-15-2008
howa <(E-Mail Removed)> writes:

> By stress testing the test.cgi, I found memory is not shared at all,
> using the top command, e.g.


The only data that might be shared is data that is already initialized at
the startup phase. Data that's copied / assigned during at later stages
will not be shared. The manual and the book both mention this.


--
Joost Diepenmaat | blog: http://joost.zeekat.nl/ | work: http://zeekat.nl/
 
Reply With Quote
 
 
 
 
howa
Guest
Posts: n/a
 
      10-15-2008
Hello,

On Oct 15, 6:48*pm, Joost Diepenmaat <(E-Mail Removed)> wrote:
> howa <(E-Mail Removed)> writes:
> The only data that might be shared is data that is already initialized at
> the startup phase. Data that's copied / assigned during at later stages
> will not be shared. The manual and the book both mention this.
>



Thanks for reply.

Even I put the line:

>> TestPM::init();


inside the startup.pl, still the same


 
Reply With Quote
 
xhoster@gmail.com
Guest
Posts: n/a
 
      10-15-2008
howa <(E-Mail Removed)> wrote:
>
> By stress testing the test.cgi, I found memory is not shared at all,
> using the top command, e.g.
>
> >> top -bc -n 1 | grep httpd

>
> 11290 web 25 0 100m 23m 1620 R 47 0.3 0:00.29 /usr/
> local/apache_1.3.41/bin/httpd
> 11247 web 20 0 101m 23m 1628 R 41 0.3 0:05.15 /usr/
> local/apache_1.3.41/bin/httpd
>
> As you can see, each httpd is using 23m, and 1620bytes shared, which I
> belive the much data is shared....
>
> Any idea?


In addition to what the other post said, it should be pointed out that
the SHR column of the "top" command does not reflect all modes of memory
sharing. For example, Copy-On-Write sharing does not seem to accounted
for as shared. I think it reflects only shared libraries (*.so files) and
not any kind of data sharing. It would be nice if the "man top" did a
better job of explaining this. You need a better way of diagnosing how
much memory is actually being used.

Xho

--
-------------------- http://NewsReader.Com/ --------------------
The costs of publication of this article were defrayed in part by the
payment of page charges. This article must therefore be hereby marked
advertisement in accordance with 18 U.S.C. Section 1734 solely to indicate
this fact.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
...inheritance and calling the grandchild not the childs implementation timasmith@hotmail.com Java 2 09-19-2006 10:10 AM
Keep javascript reference to the childs Guillermo D. Polonsky ASP .Net 2 07-11-2006 11:59 AM
Processes and their childs Markus Franz Python 1 12-21-2004 02:24 PM
teeing parent+childs output -H C++ 3 08-19-2003 05:24 AM
teeing parent+childs output -H C Programming 3 08-19-2003 05:24 AM



Advertisments