BunnyCDN review

BunnyCDN (affiliate link) is a low-cost unmanaged content delivery network (CDN) service. Setting up the service and implementing the CDN into your website is an easy procedure, especially if you already understand the basics of a CDN.  BunnyCDN is one of the cheapest available CDN providers charging $0.01/GB for US and European traffic, and $0.03/GB for Asian and Oceanian traffic. In comparison a similar package from KeyCDN is priced at $0.04/GB and MaxCDN charge about $0.08/GB (and minimum $9/month.)

I recently signed up for a 14 days free trial period to evaluate BunnyCDN and this review reflect my first impression after using their CDN for a couple of weeks.

What is a CDN and why use one?

In essence, a CDN is about efficiently distributing content. A CDN is consisting of servers globally distributed at essential locations such as major internet traffic points and cities. Each server in the CDN will contain a cache of certain files and will serve the content to the visitors through the fastest possible route. A CDN is mainly used to host static content such as images, CSS and JS files, videos for download and streaming, and other files for download. Three majors points of using a CDN is to increase download speed for the visitors, have redundancy in case a server is down or overloaded, and to lower the load on the server hosting your website. A relative simple CDN such as BunnyCDN does not host dynamic content such as databases and server-side scripts. More advanced (and considerably more expensive) CDN providers can also host dynamic content, but this will increase complexity of the setup considerable, and will be an overkill for most websites. It is also important to note that a CDN is not an alternative backup solution. Generally, content is shared with a CDN through either a pull or a push zone. A pull zone connects to your server and download the static content to the CDN when the content is requested. This is the easiest option to setup and maintain. In a push zone setup, you upload the files directly to the CDN and do not need a local copy. This option requires more time to setup and maintain in comparison to a pull zone and also more expensive since you have to pay a storage fee for having the CDN hosting your files.

Is a CDN a must for all websites? absolutely not. This blog uses a CDN to serve most static content, but it does not really require a CDN. The amount of visitors could easily be handled by the shared server hosting the blog. The speed would be a bit slower without the use of a CDN, but this will hardly be noticeable for the majority of the visitors. The content of the specific website and the amount of daily visitors are two crucial factors when deciding to offload traffic to a CDN or not. Sites without many images, downloadable files e.g. PDF, PPT, DOC, video etc. will not benefit much from a CDN, but frequently updated blogs with a steady amount of visitors, ecommerce sites, and archives of PDF files are good examples of sites that will benefit.

Features

BunnyCDN provides many features, so I will just point out a few essential ones:

  • Multiple pull and push (currently in beta) zones.
  • Custom CNAME hostnames (setting up a custom CNAME hostname is recommended because 1) you have more control, for example, you can assign your own SSL to the hostname, 2) in case you decide to shift to a different CDN provider the transition will be easier, and 3) it looks more professional, and trustworthy.)
  • SSL support (you can use your own or get a free one from BunnyCDN.)
  • Blocking of countries, individual IP’s, and entire IP ranges (blocking happens at DNS level.)
  • Redirection of visitors from specific countries and regions (to save bandwidth costs it’s possible to redirect visitors to the closest cheapest possible datacenter. For example, you can redirect all traffic from Asia to US or EU servers to use cheaper bandwidth.)
  • All locations support both IPv4 and IPv6.
  • Option to purge the entire cache at once or just individual files.
  • No restrictions on file extension and size.
  • Hotlinking protection and URL authentication.
  • API access.
  • Basic statistics including real-time log monitoring.
  • Monthly traffic limit (avoid unexpected bills.)

The full list of feature can be found here: https://bunnycdn.com/features/

Network

As of this writing, BunnyCDN has 13 points of presence (PoP) aka. they have edge servers caching content in 13 different datacenters around the globe including data centers in Europe, The United States, and Asia & Oceania. A South American presence is planned, but not in operation yet, and it has still not been disclosed where the South American PoP will be located. Below is a list of current locations:

United States:

  • New York City, NY
  • Los Angeles, CA
  • Kansas City, MO
  • Dallas, TX
  • Atlanta, GA
  • Seattle, WA

Europe:

  • Paris, France
  • London, United Kingdom
  • Falkenstein, Germany
  • Bucharest, Romania

Asia & Oceania

  • Tokyo, Japan
  • Singapore
  • Sydney, Australia

User interface

The BunnyCDN user interface is very simple and fast to learn. It took me a couple of minutes to setup a new pull zone and under an hour to be more or less “fluent” in the entire interface and the functionalities provided. I believe beginners with basic knowledge about website development will be able to setup a pull or push zone and understand the basics within an hour or two. Some or the more advanced options such as SSL and advanced security settings will take a bit longer. The dashboard loads fast and smooth (since BunnyCDN is a CDN provider anything else would be strange). Everything is kept in a simple yet stylish manner and follows the standards of typical dashboard design.

Basic statistics about bandwidth usage, file requests, and cache hit rate is provided along real-time log monitoring. I am missing statistics about individual files, especially something like a top 25 list of most downloaded and most bandwidth consuming files. It would be very helpful to get an idea of what takes up bandwidth if you are just curious or want to optimize files. To get a more detailed understanding of the traffic, you will need to measure through other means.

Main page of the dashboard showing an overview of the account.
For each pull zone it’s possible to edit different parameters such as cache, security, and traffic settings.
Overview and settings of a push zone.

Price

BunnyCDN charge on a monthly basis for actual traffic used (per-byte billing accuracy) with no monthly minimum. While there are no monthly minimum payments, there is a yearly minimum of 5$. BunnyCDN accepts major credit cards and BitCoin, but unfortunately not PayPal. The pricing structure is simple and transparent as they provide one plan. Due to differences in bandwidth prices around the world, they charge according to the following scheme:

  • US and Europe: $0.010/GB
  •  Asia & Oceania: $0.030/GB
  • South America: unknown at the moment.

For storage used by push zones, they charge $0.02/GB per month (Currently, it seems that they do not charge for storage as this feature is in beta.)

Pricewise BunnyCDN is at the absolute bottom when comparing with similar CDN providers, as mentioned, a similar package from KeyCDN is priced at $0.04/GB, and MaxCDN charges about $0.8/GB.

It is possible to save bandwidth costs by redirect visitors to the closest cheapest possible data center. For example, you can choose only to serve traffic from US and European locations no matter where the visitor is located. This redirection sort of conflicts with the philosophy of using a CDN, but can help cut costs if needed and will in many cases still result in increased speed in comparison to not using a CDN at all.

According to a small nonsystematic evaluation, the statistics about bandwidth usage looks like to be pretty precise and matches well when comparing with my own calculations of expected bandwidth usage.

Speed

While I have not conducted a systematic evaluation of the download speed from BunnyCDN, I have tested the speed by downloading large files from different locations in the US and Europe and tested over several days. Overall the speed has been very satisfying. I have typical been able to download at 30MB/sec equivalent to about 240 Mbit/sec and have reached 90 MB/sec equivalent to about 720 Mbit/sec.

If you want to make your own simple speed test of BunnyCDN, you can download the official 100MB test file: http://test.b-cdn.net/100mb.bin

Uploading files to a push zone is also lightning fast. I was able to upload with 6MB/sec equivalent to about 48 Mbit/sec which is pretty good for the internet connection I was using.

As mentioned BunnyCDN offers a 14 days free trial period, so you will be able to do a more comprehensive evaluation to see if BunnyCDN meets your expectations and works for your specific needs.

Caching

An essential aspect of a CDN is that your content is cached at the different locations, so files actually are served through the CDN. The cache hit rate (aka. the amount of file requests served through the CDN) is currently about 60% which is on the lower site. Since I only recently started using BunnyCDN I suspect that the low hit rate simply means that the caching process is still in progress. I expect this to increase to about 80-90% during the coming days. Content is only cached at a given location if someone actually request content from that location.

Support

BunnyCDN only provides support through e-mail. I have not needed support so far, but according to other customers, support requests are handled within a day. The number of tutorials and documentation provided by BunnyCDN is relatively limited at this point. Therefore users of BunnyCDN should be able and willing to do must stuff on their own, but through learning by doing most users should be able to get things to work.

Conclusion

In conclusion, I find BunnyCDN to be an interesting low-cost CDN option for private users and small businesses with basic feature requirements and limited budgets. Of positive aspects, I would point out the simplicity of the interface and API, the speed and network, and the low cost and the transparency of the pricing structure. It’s easy to get both a pull and push zone up and running, and the caching of files seems to be done quite quickly as within a few minutes. Of disadvantages I find the statistics to be limited, and I would like statistics about individual files. They only provide e-mail support and no uptime guarantee, there is no DDOS protection in place, and the documentation is limited at this point. The service is still under development so expect minor “blips” such as links not working, sections partially under development, and missing and outdated information around the website.

Ready to try out BunnyCDN? then click here (affiliate link) and get your 14 days free trail (no payment information required.)

10 thoughts to “BunnyCDN review”

    1. The cache hit rate has actually lowered a bit from 60% to 56%. Not sure why so I will look into options for optimization.

      1. After changing the Cache-Control headers to a higher expiration, I see much better results. BunnyCDN has also recently added an option to override existing Cache-Control headers for all cached content making it very easy to change if you do not want to handle it at the origin server.

  1. BunnyCDN is currently offering a 10$ bonus when using the coupon code: EASTERISCOMING This coupon code also works for existing customers.

    1. Still around 50% which is low. The origin URL used for the pull zone is running through CloudFlare so I suspect that this might have an influence. Apparently, CloudFlare is ​appending cookies and custom expiry headers to files served through their proxy. This could influence how the content is saved. Generally, a good cache hit ratio depends on the setting of the cache control headers, and Set-Cookie headers should be stripped. Unfortunately, this is a low traffic blog so my data set when experimenting is rather low.

      1. Are you combining both Cloudflare and BunnyCDN? Did you disable the CloudFlare proxying on the domain? because this will actually decrease the performance.

        1. BunnyCDN is served through a subdomain (static.bornoe.org) not running through the CloudFlare proxy, but the origin URL (the root URL where BunnyCDN download files for caching – bornoe.org) is running through the proxy. While this theoretical not should cause problems, it might have some unintended side effects.

  2. The support is almost non-existent. I can not recommend BunnyCDN. Well, you get what you pay for I guess…

    1. Huge advantage of Bunny it’s their pricing, it almost 8 times lower then CloudFront or CDN77.
      They have a support but answered with 2-4 hours delay.
      One problem with a cache, due to sometimes some POPs returns 404 error on very important files, so I have to do purge often enough to fix it.

Leave a Reply

Your email address will not be published. Required fields are marked *