Categories
cloudflare optimization

Does Cloudflare live up to the hype?

I have given Cloudflare a try for the past week or so for FantasySP.com and want to pass along my thoughts.  I saw a few reviews that were quite astonishing and decided to find out if they are accurate.  I have been reading great things about it and couldn’t resist trying it out.

Will Cloudfront Increase Pages Per Visit?

Unfortunately no.  The only reason you’ll see an increase in pages per visit is if you change the setting to add your Google Analytics code to every page.  I decided to use this myself and look at the results:

Pages/Visit

Notice the bump in pages/visit?  Almost double.  That is when I added the Analytics code to every page and it completely skewed everything out of whack.   Meanwhile GetClicky and awstats both showed them to be at normal levels.  So clearly this Cloudflare setting should not be used and anyone who shows these type of drastic results are just lying to themselves.

I obviously don’t think Cloudflare adds this setting to artificially increase analytics stats.  Although, I can’t explain why this happens, since they claim its fine to add without removing the old code.

Will Cloudflare Decrease Bounce Rate?

Probably not.  If anything, it could have a slight increase in your bounce rate depending on how much bad bot/spam traffic you were getting.  Although, a bad bot might even help your bounce rate because they are often times so abusive and load many pages.  If Google Analytics shows a drastic decrease in bounce rate then it is due to the Cloudflare setting to add the script to every page.  Have a look at my bounce rate:

Bounce Rate

Sorry folks, Cloudflare is no miracle bounce rate solution. 🙁

Will Cloudflare Increase the Speed of the Site?

Yes, even using their free service!  Cloudflare has a whole list of features that show how they can decrease the time it takes for a page to load.  They will cache content, similar to a CDN and provide optimized routes to your site, and block abusive traffic.  If you pay for their service then you will see even better benefits (none of which I have tested).

So I guess the real question is, does Cloudflare make FantasySP faster?  Yes and no.  I have most of my static content already on Amazon’s Cloudfront.  My DNS before Cloudflare was Amazon’s Route 53.  So how much of a benefit am I really getting when some of Cloudflare’s services were already taken care of?  Here is a look at Googlebot’s time it takes to crawl FantasySP.com:

Googlebot Crawl Rate

According to Googlebot, the site isn’t faster, perhaps slightly slower if anything.  It could be that Amazon’s Route 53 provides equally as good routing for end users and I don’t see much of a difference.  Either way, there isn’t enough evidence to make a call on this.  What really matters is if there is a difference for the end user in a real browser.  For my site, javascript is what is holding back the end user experience.  Which brings up my next point, Rocket Loader.

Does Rocket Loader Improve Speeds?

To test Rocket Loader’s performance, I will be using NewRelic’s End User performance tracking.  I have been using this for well over a month and it should show any trends with end user speeds.

As you can see, there is a large decrease in pageload time and goes from 8 seconds to 6! Awesome right?  Well, unfortunately I noticed that Rocket Loader was screwing up some of the rendering of advertisements that were on the site.  Thus making my site’s javascript unusable.  Rocket Loader works fine with Google AdSense, but AdSense doesn’t generally hang as much because of their recent optimizations.

What I really wanted Rocket Loader to do, was to improve performance of the other ad networks that I use.  These are the ones causing all the slowndown.  Alas, it wasn’t meant to be.  Clearly it was making a difference, but it is a bit buggy at this point.  My next step is to selectively use Rocket Loader on certain javascript components and see if it will make a difference in overall load time without breaking things.  Stay Tuned for that!

So Where Does This Leave Us?

After reading all of this, you might think I’d come to the conclusion that Cloudflare isn’t worth the trouble.  Exactly the opposite.  Cloudflare delivers on a lot of the promises of the service.  Just be sure you don’t make mistakes like enabling Google Analytics on every page.  That feature just doesn’t make any sense to me.  (I’d love to hear your thoughts on this.)

If you aren’t using a CDN or a customized DNS service, then switching to Cloudflare should have an impact on quicker load times.  Even if you do have a CDN and a customized DNS service, the fact that Cloudflare blocks bad threats and saves your server resources and prevents lots of spam.  It’s also nice to see trending data for search engine bots and outbound links.

I’d love to try out Cloudflare’s pay only services to see if they improve upon speeds, but they do not offer a trial for such a thing.  Perhaps down the line I will test these as well.  I also think Rocket Loader will continue to improve and will truly make a difference for some users out there.

What do you guys think?

Categories
optimization php

My Review of New Relic, with some Performance Numbers

When optimizing your web application or server, the process can be a bit daunting.  In fact, its usually something that is never fully checked off your to-do-list.  The reason being is that you’ll never really know how your application will scale until it starts to show its growing pains.  Just when you thought that you’ve addressed the performance issues, a few weeks or months go by and new ones will crop up.

Before New Relic came along, I used to cat the slow-query-log.  I would address any queries that I saw took a while to execute.   Then there is the MySQL Performance Tuning Primer Script.  Also a great tool and will give you a good idea on how MySQL is performing as a whole.  I would continue to look at these things, but the load averages kept climbing and I could not figure out what the problem was.  I also couldn’t figure out which pages took the longest to load.

Enter New Relic

I actually considered throwing more hardware at the problem, since I could not figure it out through the usual means.  Then New Relic came along and I decided to give it a try. Here is my site performance graph since I first started using New Relic:

Performance

You’ll notice that when it was first turned on, the database was clearly the issue. The problem was UPDATING a table that has almost 2 million rows. (Duh.  Apparently, it was way more costly than I ever imagined)  Incrementing the view count on one of the main tables was the root cause to 90% of my problems.  I went ahead and created dedicated tables to hold these stats  and load averages eventually settled to around .20 across the board.  MySQL was no longer an issue.  FantasySP was silky smooth, once again!

The best part about New Relic is that once you set it up, you don’t have to spend time SSH’ing your box to find performance issues.  Everything you need is much easier to read, not to mention there is a performance breakdown based on each page/script.  Now I can easily see the pages, ajax requests, and background tasks that take the longest to complete.  All of these can be easily optimized now.  Their interface isn’t perfect, but it’s improving every day.

Impact on Google Bot & Organic Search

Of course when you optimize your website you do so for the end user experience.  The added plus to this is that Google Bot gets a huge benefit from it too.  I’ve been reading over and over about how load time is now a ranking factor.  Sure, but it’s not that big of a deal, right?  Well, lets take a look at how Google Bot responded to these tweaks:

FantasySP.com | Pages Crawled Per Day
FantasySP.com | Time Spend Downloading
m.FantasySP.com | Pages Crawled Per Day
m.FantasySP | Time Spend Downloading

Clearly, the faster the response time, the more pages that can be crawled in a given day.  The average response time for FantasySP.com is now at around 100ms.  The average response time for Mobile FantasySP is at 72ms.  Google Bot quickly realized that the site is performing faster and ramped up its crawl rate.

So you might be wondering, has the faster and more responsive site resulted in more search engine traffic from Google?  So far, the answer is yes.  By about 5 – 10% the past 7 straight days. Coincidence?  I doubt it.  Getting a bump in SERPs for being a considerably faster site is very real.  There is no question that the easier it is for Google Bot to crawl, the better off I’ll be in the long run.

Conclusion

New Relic has just released a whole bunch of new changes such as Real User Monitoring , an improved install process, and a much more affordable pricing structure.  It doesn’t matter if your a company of 15 developers or just one developer working on a side project. . . New Relic will be worth it.  In fact, for smaller sites you should be able to take advantage of New Relic’s 14 day professional trial and be done optimizing by the time your trial is finished.  However, I’ve been addicted to the stats and will eventually subscribe to their “Standard Package”.

New Relic essentially takes the guesswork out of optimization.  Now you can easily track down costly plugins in WordPress and even compare performance numbers from week to week.  This is by far the best tool you can use to make your site or app run faster.  Spend the time and install it, or submit a support ticket and have your host do it.

I can go on and on about New Relic and you will probably get a bit lost in the data for a few days.  So go ahead and give it a try.

Categories
social

Social Buttons are Bad for the Internet

Have you ever watched Man Vs Wild on Discovery and noticed that every time he went to some small tropical island there are always plastic bottles washed ashore?  Those plastic bottles are social buttons on the web.  They litter headers, footers, everything in between!  No matter what website you go to, small or large, you will find these social buttons.

The things we do for traffic.

What Harm Do They Do?

The social buttons have adverse affects:

  1. They slow down load times, especially if you want counts for tweets, likes, diggs, etc.
  2. They can cause unforeseen consequences and introduce weird bugs, such as the fb_xd_fragment Facebook bug
  3. You look desperate for traffic. This may be my personal opinion, but think about what adding buttons suggest. Admit it, your traffic hungry and will do anything for it.
  4. Your promoting their brands on your page, for FREE.

The Future of Social Buttons

My fear is that these social buttons will get worse before they get better.  Just recently Google created a sort of social button called “+1” and LinkedIn just joined the party.  We are beyond overkill now.  At some point they will reach a critical mass.  Perhaps in a few years people will grow tired of Facebook and its usefulness will decline?  I can only hope.

Don’t get me wrong, I don’t hate social buttons. [Correction. Yes I do hate them].  Social buttons are the crack of the internet.  Once you are hooked you want more and more.  Pretty soon you turn into a bloated social sharing monster like Huffington Post.

Ultimately they really are the plague of the internet.  And the worst thing about it is that you basically have no choice but to give in.  Just ask Gawker.

Categories
browser wars chrome firefox opera

Browser Wars: The Truth about Firefox 4.0

I was just reading Maximum PC’s article reviewing modern browsers and they crowned Firefox 4 the best browser out there.  This is extremely unfortunate for a multitude of reasons and this post is my rebuttal.  It feels like Firefox 4.0’s feature list was created in response to using Opera and Chrome.  To put it more bluntly, Firefox 4.0 is nothing more than Firefox catching up to the competition.

I just heard a bunch of geeks gasp and clutch their mouse in complete horror.  How dare I say such a  thing! It has GPU acceleration out of the box, for christ sakes!   It’s gotta be good!  (Yes, thats a Maximum PC article dig)

Firefox copies features:

  • Firefox copied Opera’s menu in the top left-hand corner.
  • Firefox copied Chrome’s rapid development schedule.
  • Firefox copied Opera and Chrome’s simplistic interface motto (For example, Firefox now has tabbed extensions).

Firefox Improvements Debunked:

  • Firefox is FINALLY competitive in Javascript performance to Opera and Chrome.  However, Firefox 4 is not the fastest.
  • To improve security, Firefox 4 implemented something called HSTS (HTTP Strict Transport Security). The only problem is that no one supports this yet.
  • Firefox has GPU acceleration.  There actually is nothing wrong with that, but so does Chrome if you enable the labs feature.  In fact, I leave it disabled because GPU acceleration means little to nothing to me right now.
  • Firefox scores a 97 on the ACID 3 test, hurray!  Chrome and Opera only managed to get 100.  That was close.

Firefox’s Downfalls:

  • Firefox does not run plugins and tabs into separate processes like Chrome does.
  • Firefox does not bundle Flash with the browser for improved stability and security.
  • Firefox still takes longer to open on a PC than Opera or Chrome.

So how exactly is Firefox the best browser?  Because of their 1,000,000 extensions?  By now, 99% of the good ones are available on Chrome too.  If you want to tell me Firefox is better for web developers then I agree.  Firebug, yslow, and pagespeed all kick butt.  That is what I use Firefox for, but not for daily browsing.  There are plenty of subtle things that Chrome does that I love, but I don’t have time to get into them now.

Now don’t get me wrong, I want to praise Firefox for finally doing some development work.  They must feel really good finally catching up to a 1 year old browser (Chrome).  Boy I sound bitter huh?  Maybe because I was a huge Firefox fan for 5 years and then a brand new browser came along and opened my eyes to Firefox’s flaws.

Sorry that this post sounds amatureish, but I don’t have time to develop a well thought out article.  I just had to get this off my chest. Feel free to leave comments about your thoughts.  I’ll be more than happy to update this post.

Categories
apple verizon

Verizon has the iPhone 4 and it means absolutely nothing

Verizon Wireless finally has the iPhone 4.  There have been commercials running for the iPhone by both Apple and Verizon for the past month.  Fans rejoice, our savoir has arrived. . . right?  You couldn’t be more wrong.

The iPhone is coming out during a time when 4G and dual core phones have already been announced or are already out in stores by some carriers.  Verizon is potentially weeks away from releasing their next gen 4G  dual-core phone running on Android.  Now that is drool worthy.

The iPhone 4 is a nice addition to Verizon’s lineup, but it’s too late to jump on the Apple train.  True, we should be happy that it is here and when Apple gets around to releasing iPhone 5 then it will certainly be worth the hype, but for now do yourself a favor and hold off.

Categories
cloud

Amazon Route 53 Benchmark Comparisons

It’s been a few months now since Amazon Route 53 was released to the public.  Some of you may have forgotten about it, while others are hesitant to change their DNS servers because there may not be much upside to it.  Lucky for you, I couldn’t help myself and jumped on board within the first week of it being released.  I have never experienced any DNS issues since the switch and from my untrained eye, things seemed to be more consistent.  But what I really wanted was a reliable Amazon Route 53 benchmark to prove it.

Here is a DNS benchmark comparison of FantasySP.com provided by indeep76.com.  Below you’ll see how much of an improvement Route 53 makes from various locations:

During the last 2-3 months using Amazon Route 53, the DNS lookups are more consistent and more reliable, not only from the USA, but all over the world.  Depending on your current nameserver’s reliability, your results may vary.  Use indeep76 to check or use a monitoring service like mon.itor.us or pingdom to give you a nice baseline.  If you are getting anything close to 200ms + response times, then there is room for improvement.  If you want to use Route 53 on your domain, then head over to dns30 and make sure to have your Amazon AWS API keys handy.  It’s a simple setup and will make your site that much faster.

Sound like too much work for not enough payoff?  Scared of changing nameservers and risking your site be unaccessible?  I don’t blame you.  However, I will say that if you are obsessed about page speed and have already optimized your site via gzip compression, minification, JS packing, and a CDN, then optimizing your DNS lookup time is your final step.

Categories
Uncategorized

Tri Channel Not working on your GA-X58A-UD3R board?

So if you’ve just recently purchased the Gigabyte GA-X58A-UD3R motherboard and encountered an error saying “Recovering Lost memory”.  I bet that error only occurs when your attempting to use tri-channel?  Try to boot the machine with memory in just the first two memory groups closest to the CPU.  Does it show the full memory correctly?

It turns out that you could have a bent pin on your motherboard.  I had a bent one and thought I fixed it, but I was stuck with dual channel until I exchanged the board.

Do yourself a favor, exchange your board ASAP if you have a bent pin.  It’s causing tri-channel not to work.

Categories
Uncategorized

My Comic as a Web Developer / Programmer

Categories
Google SEO

Is it Time for a New Google Syntax for Comments?

The average blog post is fairly easy to index and crawl for Google.  However, what happens when a single page has several hundred comments?  How does Google decide what’s important to include in a search query and what to ignore?  Heck, in some cases the comments on a Reddit post are more important than the actual summary of the article submission itself.

A lot of websites have been adding a voting aspect to comments for some time now.  However, no search engine (as far as I know), looked into taking these votes into account when crawling.  I propose a new type of “rich snippet” syntax for Google, Comment Syntax.

What if websites included the syntax so Google could not only clearly identify comments, but quickly pick the most popular/useful comments to showcase in certain search queries.  This could be applied to sites such as Digg, Reddit, Yahoo Answers, Stackoverflow, and just about any WordPress blog.

What do you guys think?  Would this be helpful?

Categories
apple

If iPhone4 has a problem with it’s antenna, why aren’t there more customer calls about it?

You heard about Apple’s press conference from Friday about reception and antenna issues.  Steve said much about nothing and tried to pass the blame around to whomever he could.  However, I want to concentrate on one particular quote that is surprising at first glance:

Only 0.55 percent of iPhone 4-related calls received by Apple Care have been related to the antenna or reception problems, Jobs said. The return rate, meanwhile, is at 1.7 percent, lower than the 6 percent rate for the iPhone 3GS, Jobs said.

.55 percent having to do with antenna or reception problems sounds remarkably low, so how can we account for that?  Here are two possible explanations:

  1. Most of the iPhone user base does not call customer service for issues.  Instead, they are smart enough to turn to tech blogs such as Engadget or TechCrunch.  I’d say the majority of it’s users either heard from their friend or read it online themselves that there was an obvious issue and waited for Apple’s response.
  2. It’s no secret that at&t has a horrible network.  Users who experienced dropped calls probably just chalked it up to at&t being a horrible network rather than their iPhone4 being the reason.  Who can blame them?  I would have probably assumed that myself had I not been reading tech blogs.

This is just my opinion, I have no real evidence to back any of this up.  What I can tell you is that after the Apple conference, Jobs has never looked more disconnected and arrogant as he did on Friday.