[prev in list] [next in list] [prev in thread] [next in thread] 

List:       apache-modperl
Subject:    Mod_perl Uber Alles
From:       "Christopher A. Thompson" <x4 () ROCKETMAIL ! COM>
Date:       1998-04-15 16:34:19
[Download RAW message or body]

I have put up a site that's a true testament to mod perl's power. (He
said humbly).

http://openscape.org now contains the new site that I've been writing
over the last 2 weeks.

The site is generated 100% dynamically by my module Obelisk.pm. Apache
1.2.6 and mod_perl 1.10 are used, and the module is inserted to run on
<Location />. MySQL and DBD::MySQL provide the back end object store.

I keep all text, news items, and the like in the SQL database. at
request time, the module takes the following steps.

$method = $r->method;
$loc = $r->uri;

$loc is then parsed out. Depending on the "page" requested the module
generates a page based on several SQL calls, and prints the result
back out. I pass args on to the subrequests this way too, such as
http://openscape.org/rnews/12  will read news item 12. It's all
handled in the URL parsing. For the forms handling when you post a
news item, I use CGI_Lite to grab things off POST. (If $method is
POST), since Apache:: cant grab POST by default. I plan to implement
my own POST handler, I just havent gotten around to it.

You can post comments on news items, and those will be generated
dynamically too. (a-la slashdot.org if you're familiar).

The amazing part of all this is twofold. First, it's all done in 427
lines of perl and 6 SQL tables. Slashdot is 2500 lines of code.
Second, while I dont have any definitive numbers, this looks like it's
going to scale very large. I've thrown a few large parallel requests
at it (just simple LWP gets, in many parallel processes) and it doesnt
seem to slow down. This box is just a P5/166 with 64megs RAM and Linux
2.0.31.

This all occurs with no CGI.pm, no Apache::Registry, no on disk
content but the Obelisk.pm. I am so spoiled by this method that I dont
think I can go back. I'm writing a Doc on the process and I'll have it
up soon. I know I'm not the first person to do this, but the process
doesnt seem to be exceedingly documented. Oh, and Obelisk will be
GPL'ed as soon as I gather it into a form that's fit for human
consumption.

Thanks Doug and crew for mod_perl.

-Chris



===
------------------------------------------------------------
Chris Thompson    |I do not wish it to be misconstrued that
ct@x4.net         |     at no time was I not in total
ct@cthompson.org  |      Disagreement   --Anonymous
------------------------------------------------------------






_________________________________________________________
DO YOU YAHOO!?
Get your free @yahoo.com address at http://mail.yahoo.com

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic