perl-embperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robert Germic <>
Subject mdat/postgres - major perfomance problem?
Date Mon, 12 Jul 2004 08:53:18 GMT

  I've noticed %mdat in Embperl 2 is not per module/page as in Embperl 
1. Now it is per application, right? (Docs still claim otherwise in 

  I tried to play with it and it seems that Postgres as a store does 
SELECT ... FOR UPDATE, which is of course correct from data concistency 
point of view, but it makes other apache childs wait... To me it looks 
like only one Apache child is working and other are just waiting for 
session commit. Simple example:

[- Execute '*' -]
[+ do { use Data::Dumper; Dumper(\%mdat) } +]

[- $mdat{first} = 'gerald'; sleep 15 -]

page 2
[- $mdat{last} = 'gerald'; sleep 1 -]

When I load page 1 and then immediately page 2, it takes 15 seconds and 
then they both load at the same time eg. page2 was blocked by page 1.

Per application data is hugely useful, but if all of above is true, 
%mdat is major performance bottleneck. What do you think?

- Robert

PS. When I try to empty %mdat, maybe in base.html like
    delete $mdat{$_} foreach keys %mdat;
    %mdat = ();
it dumps empty session as expected. Now I comment out those delete lines 
and reload and %mdat has the same content as before delete. What's wrong?

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message