Are there any resources on fine tuning a cakephp app?

I am building my first app with 100,000+ users expected in the first 6
months.  I am not sure where to even start optimizing cakephp.

Chad

On Wed, Jan 7, 2009 at 10:09 AM, teknoid <[email protected]> wrote:
>
> It's been said before, but I'll say it again....
> index.html is the fastest framework of them all when it comes to
> outputting "hello world".
>
> If you've optimized the SQL, enabled caching on all tiers of your
> application and made sure you've followed the rules (i.e. no
> requestAction() or aggressive model loading)... Attempted lazy loading
> on the models, tried both Containable and Linkable behviors...
>
> and now you are finding that Dispatcher is slowing things down. You
> really have 2 options:
>
> 1. Make sure your app is profitable so you can add some hardware (or
> cloud-ware)
> 2. Post a realistic question with specific problem you are having here
> or IRC and someone will help you out.
>
> I firmly believe if cake 1.1 can more or less painlessly serve mozilla
> add-ons it can certainly do the same for the rest of us.
>
> Don't waste time on benchmarking requests per seconds, it would be
> much better spent on fine-tuning your app.
>
>
> On Jan 7, 8:52 am, Martin Westin <[email protected]> wrote:
>> My 2¢ on this subject:
>>
>> I have done a lot bit of profiling on my own apps. I have also
>> compared Cake 1.1 with 1.2 when migrating an allication, but not
>> compared another framework to Cake.
>> What I can generalize from these tests is that using the common simple
>> test-app probably 1.1 is faster than 1.2. Probably these benchmarks
>> are correct when they do similar comparisons and find that Cake 1.2 is
>> "slow" compared to other frameworks.
>>
>> What I have also discovered is that when I do the same benchmarks
>> using "heavy data" things look very different. When I say heavy data I
>> am talking about a filemanager dealing with meta-data form 3'000 files
>> and not just 20 odd files on my development system. I am talking about
>> a reporting system loaded with 1.2 million transactions, not 120
>> transactions. I am talking about 400'000 user accounts and not 40.
>>
>> It can be a real pain getting that much data into your app. I have
>> been lucky to have had access to large datasets I can copy and do
>> tests on. I wouldn't like to try making 400'000 unique usernames
>> myself :)
>>
>> In these cases I have seen that CakePHP 1.2 has been extremely good at
>> handling the load. Many things that slow down the small application
>> speeds up the "big" application. If my 40 users were processed in 0.4
>> instead of 0.2 seconds, that must be compared to how my 400'000 uses
>> were processed in 4sec instead of running out of memory after 2
>> minutes of execution. (no real figures, btw)
>>
>> The developers of Cake have been very good at identifying and building
>> tools that help an applications as it grows. Sure I can manually write
>> all the same optimized queries and do a lot of things to make 1.1 (or
>> some other framework) process in similar times, but in Cake 1.2 all
>> these things are there, built-in and tested, ready to go. I remember
>> one of these memory problems from this summer. When the problem
>> occurred online, on a live server (OMG!) I could very quickly identify
>> and correct a "sloppy find" in a matter of minutes and then all was
>> well again. I am not suggesting anyone wait for real users to discover
>> their bottle-necks, but it is a good indicator of how easy it is to
>> "optimize" a Cake application.
>>
>> This has been a big anecdotal, I know. I don't have any real bench-
>> results to share unfortunately. But I wanted to try to make the point
>> that Cake 1.2 may not be the fastest from the outset but when you load
>> your app down with more and more stuff Cakes keeps its speed really
>> well.
>>
>> That would make an interesting benchmark. Making a few associations
>> between a few Models and benching with a small 20KB database. Then
>> testing with the database weighing in at 200MB or so. It would be cool
>> to see the curve of each framework as the data started piling up.
>>
>> @Mathew
>> The most important tool for optimization has in my experience been
>> Containable (and "recursive = -1") which can really limit the amount
>> of data loaded with each request. My second tip is to try to use few
>> "foreach($found_data as $one)". For lopps can really kill you when
>> there are a few hundred thousand items in the array :)
>>
>> /Martin
>>
>> On Jan 3, 4:42 am, gearvOsh <[email protected]> wrote:
>>
>> > These benchmarks dont mean anything.
>>
>> > Do a benchmark using a full fledged system (perhaps a whole social
>> > community) and see how the work. Simply hello world pages are nothing
>> > because no frameworks are used for that.
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to