Google is trying to make the web faster! Every site owner should be aware off the Google Pagespeed tool (and YSlow) to make sure that the website they are running is as fast as it can be. The optimization tools they offer are great for anyone working with Drupal. But Google have taken it one step further by introducing Google Pagespeed module for you webserver that does a lot of optimization on the fly. The question is - does it make sense for Drupal?
SPDY is a protocol made by Google (who else) for transporting web content faster. It tries to solve the issue of reducing latency over SSL but maintaining the security that SSL traffic brings to an site. Recently Google announced that they would join forces and merge SPDY with HTTP/2. Where does that leave you?
Data URI's is a way to take your external images and put the binaries inside the html document or a css document. Why would you want to do this? The gist of it all is that it's sometimes faster and more scalable to transfer fewer larger files then more smaller files. Let's see if this is true and how we can solve this.
So now that we have concluded that it's easy to setup distribution of files on a separate subdomain, what about using a completely other web server (or in this case an application server)? Will it blend?
In this text I will go in to the topic of using a separate domain for serving your static files to avoid the client sending unnecessary cookies in the headers and why it may be or may not be a solution to speed up your website.
Reverse proxy caching is something that is almost a must have for any popular site today. For Drupalers Varnish is by far the most used reverse proxy since it's easy to use and works really well/stable. Nginx has been succesful as a reverse proxy with Drupal as well, but it has mainly been been used with the file system and modules like Boost. But there exists a Memcache module that can speak directly to Nginx as well. In this article I will do some benchmarking on how to save the data when applying memcache to Nginx.
Some of you might be acquainted with Phalcon - "The fastest PHP MVC in the world!!!". The reason it can be so fast is because the core is compiled into a PHP extension rather then being interpreted in real-time (or cached with APC/OPCache). Usually it takes real long time to write extensions and it would really not be feasible. But Phalcon also introduced Zephir, which is a high-level mix of C and PHP that makes it pretty easy to write fast extensions. While learning the language I thought that I would try to make some of the Drupal core functions into a PHP extension just to see how they would perform.