Re: DB calls vs Session solution
| From: | Curt Zirzow | Date: | Mon, 13 Mar 2006 21:41:24 +0000 |
| Subject: | Re: DB calls vs Session solution | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-231871@lists.php.net to get a copy of this message | ||
On Mon, Mar 13, 2006 at 03:30:18PM +0100, Jochem Maas wrote:
> I just realized I must be evil ;-)
Arn't we all :)
> secondly I take 'the cache your db results in the session'
> to an extreme - by shoving serialized ResultSet objects (with all
> results in tow of course) into shared memory by way of the APC
> extension... this is of course evil because Rasmus' says "don't
> stick objects in the APC cache you fools" (I paraphrase ;-),
> the server in question is a single site machine with lots of crazy
> marketing induced queries - by caching _all_ select queries I have
> reduced the load on average from 5+ to 0.5+-
Ah, see this is a bit different, and goes along the theory of a
cost has to come from somewhere, and in this case you have memory
to use and abuse.
The problem with relying on a third party solution, whether it be
APC's cache or MySQL's cache, you end up having your application
dependent on them to work under heavy load.
But then again, if a site is rather busy custom solutions will be
needed, and requirments to run the site become greater. I'd like to
see google/yahoo ported to some server(s) easily :)
>
> out of interest, Curt when you say 25 requests a second exactly what
> kind of requests? I mean 25 request each second on a php file that queries
> a DB with lots of LEFT JOINs, etc is going to require a pretty heavy
> piece of iron no? (at least more powerful than anything I can get my hands
> on in general.)
Yes, 25 requests per the webserver, aka each php file. Since you
evily top posted i would guess that one of my suggestions, in the
thread, was to try to design something that didn't have a left
join.
If I had relied on left joins to join the data i need to get the
site working my apache's 'current request being processed' of 182
would be bringing any P4 with hyperthreads to its knees :)
I think as this topic is enfolds, the key thing is either to make
your queries as fast as possible (using good indexing), flatten a
structure to provide speed, or use a cache system.
>
> PS Curt thanks for the braindump - you got me thinking again!
Thats what I'm here for :)
>
> Curt Zirzow wrote:
> >On Fri, Mar 10, 2006 at 02:10:54PM +0200, Thomas wrote:
> >
> >>Hi there,
> >>
> >>Quick question on performance:
> >>
> >>I have got some expensive sql queries (doing lots of LEFT JOINS) that
> >>result
> >> ...
> [clip top posted info]
Curt
--
cat .signature: No such file or directory