Embperl-mysql == dismal performance.

2000-01-27 Thread Martin A. Langhoff


I'm developing a site with a 'Salon' like structure. Its done with
templates worked in SSI by the design team that pull in Embperl
fragments. One of these Embperl fragments calls up a few mysql queries.

I've got both an in-house testbed, rather crappy (p166, 64 MB,
RHLinux 5.2, apache  1.3.9) and the production server (which is not
mine, as I'm buying a hosting service). On he production machine, it
runs. My site has never been under heavy load and the machine is
overkill for the load they have.

But in my production machine, using ab, I get horrible results. Just
trying
ab -n 100 -c 10 http://10.10.10.10/

takes more than one minute to solve it. It sometimes actually times
out.

Now I know the SSI/Embperl solution is not the best choice in town.
But I get exactly the same problem in a set of pure Embperl+mysql pages
I've got, so I'm not quite liking it.

What kind of performance improvemente may I get from using
Apache::DBI? Given that the code is modular, and I got a single handler
in all the site to 'open connection' and another to 'close connection',
could that module cure my pain without *serious* surgery?

Or we should all forget of using Embperl-mysql under heavy
traffic?!

Thanks!


ml




Re: Embperl-mysql == dismal performance.

2000-01-27 Thread Joshua Chamas

"Martin A. Langhoff" wrote:
 
 Now I know the SSI/Embperl solution is not the best choice in town.
 But I get exactly the same problem in a set of pure Embperl+mysql pages
 I've got, so I'm not quite liking it.
 
 What kind of performance improvemente may I get from using
 Apache::DBI? Given that the code is modular, and I got a single handler
 in all the site to 'open connection' and another to 'close connection',
 could that module cure my pain without *serious* surgery?
 
 Or we should all forget of using Embperl-mysql under heavy
 traffic?!
 

SSI + Embperl are both very fast, these are NOT your problems!

Apache::DBI will help, maybe a lot on a benchmark test.  To use
it, just load it before DBI.

It may be that your mysql database is the performance killer
here.  Can you tell what's taking most of your CPU under top
during the test ?  Tune your database with indexes if you 
haven't already, your queries may be less than optimal now.

A properly tuned mysql database will also NOT be your problem.

-- Joshua
_
Joshua Chamas   Chamas Enterprises Inc.
NodeWorks  free web link monitoring   Huntington Beach, CA  USA 
http://www.nodeworks.com1-714-625-4051