Support For Google's Spdy, Pagespeed And Web Performance Best Practices

As both a practical issue and a way of refreshing its “high performance” marketing claim, my suggestion is for Yii to support SPDY, PageSpeed mods and all of Google’s Web Performance best practices, the first of which could be added verbatim to the list of Yii’s key traits: “Yii keeps application data and logic off the network altogether, thus allowing for maximum speed.” This takes the “high performance” claim (which Symfony 2 has hijacked!) beyond the application itself into the web performance level which is what really matters to clients and developers alike.

Along these lines I would suggest updating Yii’s marketing tagline to this:

"Yii is a high-performance component-based PHP framework best for practical developers to build high traffic web applications."

Note the “practical developer” reference, I studied Makaroff’s slides on Yii2 and the “practical” word kept coming to signal that Yii is not trying to generate consulting business by code complexity (ie Symfony and Zend).

And if someone thinks that Web Speed is only a server-level thing that exceeds the framework and the application, here’s an excerpt of Google’s best practices at the Application level:

If Yii is a framework for building web applications, then it should also help both developers and project owners cope with web application success, Yii is not a front for generating consulting business or a new toy for web artisans, Yii is a serious tool for building web applications and therefore should come out of the box prepared to face the consequences of success: a ton of traffic.

As far as I know, SPDY has nothing to do with the framework itself, it’s about installing module for Apache or re-compiling nginx. Doing as less requests as possible is the job of the application, not a framework. Framework doesn’t do any requests by itself.

We already have HTTP-cache layer http://www.yiiframework.com/doc/guide/1.1/en/caching.page#http-caching that covers most of the best-practices. The rest practices, such as image re-compression, isn’t really a framework job.

Yes, but the application needs to support things like cache invalidation (a classic weak spot for Ruby on Rails, from which Yii got a lot of inspiration). I am working on a Yii/Redis/Nginx application and I cannot find documentation on how to get Yii’s caching working with Nginx’s caching for proper cache purging. (I read Flamp.ru’s presentation with great interest, but we use Redis as a database, they do not). So I would greatly appreciate if you could point me to resources to figure out how to get Yii to “talk” to Nginx for cache invalidation in high traffic sites (ours is 4x times busier than Flamp).

Best regards

That depends on how you’re using nginx to cache content.

flamp.ru case is a bit special since they’re using SSI and are invalidating cached parials manually. Database doesn’t matter in the case and they’re using Redis for historical reasons. Also it was mentioned during their speech that flamp can work well w/o any caching and that all this caching is for them to be sure that they can handle much more traffic in the future.