Archive - Performance RSS Feed

Choosing a Webserver

So many times, people choose to run WordPress on a traditional LAMP stack…STOP IT! Just because something is an industry standard, doesn’t mean it’s good. Yes, LAMP is a good stack sometimes, but not always. That’s the important thing to know: when to use it, and when to use another stack.

For the time being, I’m going to focus on “A” and leave L,M, and P out of this.

In LAMP, A is Apache, one of the old and most popular web server applications on the Internet. Apache is great and serves up a lot of websites all over the web, but you want see any of the top 10 websites using it. WordPress.com doesn’t even use Apache! I used Apache for a long time, but have since moved away due to performance issues. No hard feelings though! I still use it in some places!

What most people don’t know is that Apache is relatively bloated these days and doesn’t use RAM/CPU in the most efficient manner possible. It’s not Apache’s fault, it’s just the result of being in existence since 1995 (Yes, I’m implying that’s old).

I won’t go over the installation/setup (in this post) as each one is very different from the other, but here are a few alternatives to consider before going with Apache:

NGINX:

NGINX™ is an advanced Internet infrastructure software. It is a high performance web server with the lowest memory footprint and it provides complete combination of the most essential features required to build modern and efficient web infrastructure.

Today NGINX is the 2nd most popular open source web server on the Internet.

NGINX functionality includes HTTP web server, HTTP and SMTP/IMAP/POP3 reverse proxy, content caching, load balancing, compression, bandwidth policing, connection multiplexing and reuse, SSL offload and media streaming.

LIGHTTPD:

Security, speed, compliance, and flexibility — all of these describe lighttpd (pron. lighty) which is rapidly redefining efficiency of a webserver; as it is designed and optimized for high performance environments. With a small memory footprint compared to other web-servers, effective management of the cpu-load, and advanced feature set (FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting and many more) lighttpd is the perfect solution for every server that is suffering load problems. And best of all it’s Open Source licensed under the revised BSD license.

Litespeed:

LiteSpeed Web Server is the leading high-performance, high-scalability web server. It is completely Apache interchangeable so LiteSpeed Web Server can quickly replace a major bottleneck in your existing web delivery platform. With its comprehensive range of features and easy-to-use web administration console, LiteSpeed Web Server can help you conquer the challenges of deploying an effective web serving architecture.

See? There are other options out there. Ironically, each one clames to be the best.

Go ahead, step out of your comfort zone and use something other than Apache this time. You can do it!

I’ll talk about what I use and why in an upcoming post…I might even go over how to install it…in fact, I will! I’ll even cover installation and configuration of Apache, NGINX, and Lighttpd…with juicy sample config files to make your hearts melt. Stay tuned for those.

Testing with Blitz

Since I’m always seeking to increase speed, I always need new tools to test everything. I use Pingdom Tools and Google Page Speed (GPS) on an almost daily basis. Though those sites are great for testing load speed, I needed something else tested: capacity. Pingdom Tools and GPS only simulate one user at a time, and while it’s nice, it’s not always practical. There’s always a chance that more than one person will be accessing your page at a time.

Meet Blitz.

Blitz doesn’t just simulate one user. Blitz uses two tests to help you determine how your server or application will do under any type of load. Continue Reading…

Caching: Memory or Disk

Caching Removes Weight!

Choices, Choices.

A small disclaimer: I’m going to assume you have a caching plugin installed at this point and you’re wanting to know if you should choose disk based caching or memory based caching. I’m also going to assume that you don’t have rockstar command line skills and that servers really aren’t your thing…so I won’t be giving you anything to put in a command line nor will I dive deep into hardware configuration. Nothing too deep.

Continue Reading…

Epic WordPress Setup

Towards the end of last month, John from TentBlogger unveiled his “Ultimate WordPress Blog Hosting Setup“. I liked the idea, and accepted it as a challenge to be faster, so I figured I’d share mine. My setup usually stays constant, but I’m constantly trying to make things faster so this could all change at any moment. I have a test environment in place, but I usually test on the live site.

Continue Reading…

Amazon CloudFront and GZIP

If you look at my posts here, you can tell that I have a bit of a love affair with Amazon Web Services. I won’t deny it either, because I do. But, just because I love AWS doesn’t mean that it’s perfect. Like any relationship, it’s far from it.

Recently I moved from Amazon S3 to CloudFront with a custom origin. CloudFront’s custom origin option essentially makes CF a pull CDN. After looking at the the front page I noticed that the CSS wasn’t loading – at all! In fact, it wasn’t even there!

Upon further research, I realized CF doesn’t handle GZipped content when using custom origins.

Obviously, that’s an issue since gzip is one of the ways I make this whole thing run fast.

In order to serve GZipped content via CF, you have to use both S3 and CF together. Your S3 bucket becomes your CF distribution origin.

Though it’s round about, it works very well.

Hope that’s helpful!

Page 1 of 212»