Select Page

CynderHost Review: Fast Hosting Starting At $1/Month

by | Nov 24, 2020 | Web Hosting, Review

This post may contain affiliate links, which means we may earn a commission if you use one of our links. Learn more.

If you want to have a WordPress website, you’ll need some sort of hosting. While CynderHost may not be as well known as some other hosting providers, they more than make up for it with their exceptional service and pricing.

Before I continue with the post, you may be wondering why you’ve never heard of CynderHost. Well, the answer to that is simple: they don’t pay for reviews and they don’t offer high affiliate commissions. So although you’ll find less reviews about them, you can be sure those reviews are honest. Speaking of reviews, I would like to mention that CynderHost was kind enough to provide a test account for us. However, we weren’t paid to write this review, and everything from this point on is an honest review based on our experience.

Registration Process

There’s not much to say about the onboarding process with CynderHost, and that’s a good thing. You can choose between creating an account normally, or simply signing in with Google. Once you have an account, you can easily manage your hosting services from one place. They even have single sign on for their control panels, which means you can access your cPanel with one click and zero passwords.

Support

https://know.cynderhost.com

Out of all the hosting providers I’ve ever tried, CynderHost has the best customer support by far. When I first contacted them, before even having an account, I was sure my email glitched out or something because I got two emails at once from CynderHost. The first was a confirmation email letting me know they got my message, and the second email was a reply, written and sent within a minute.

Fast response times are great and all, but they don’t mean much by themselves. What impressed me even more was how knowledgeable their support staff was. During my testing, I encountered an issue with the automatic WordPress installer and asked if there’s anything they can do to help me. Once again, they replied within a minute and had even installed WordPress for me. If that’s not good customer support, I don’t know what is.

CynderHost also has a large library of knowledge base articles in case you ever get stuck.

Pricing

Although there’s no shortage of budget web hosting options, CynderHost is definitely a strong contender. They have plans starting at just $1/month, and that’s for actual month-to-month billing; you don’t have to pay for a year or more up front to get that pricing.

Their entry-level $1/month plan offers the following resources:

  • 8 GB SSD Storage
  • 150 GB Bandwidth
  • 15 Mailboxes
  • 3 Domains

Which is pretty good for any entry-level shared hosting plan, let alone one at this price point. To put that into perspective, $1 a month costs you less than $0.04 a day. It’s also worth noting that even in their entry-level plan, they include mailboxes, which allows you send and receive emails from your domain name (e.g. “yourname@example.com”) without needing to pay for a third party service.

All of their plans also offer DDoS protection, free SSL, 24/7 support, and more. You can find a full list of their features here. They also have two other shared hosting plans, an “Elite” plan that costs $2.49 a month, and an “Unlimited” plan that costs $4.49 a month and includes unlimited bandwidth, mailboxes, and domains.

High Performance

CynderHost also offers high-performance hosting plans, starting at $18.99/month

If you want ultra-high performance hosting, CynderHost also has plans for you. Their high-performance plans are designed to make your WordPress website load as fast as possible, with a built-in CDN and caching solution. Since we feel that most people looking to get started with a website will prefer their more affordable shared hosting plans, we won’t go too in depth here.

Benchmarks

Now, here’s what you’re probably interested in: benchmarks. Having a lot of resources for a low price is great; the question is how fast your website will load. And, we have the answers.

For the following benchmarks, we’ll be testing a vanilla WordPress 5.5.3 installation (without a caching plugin) with 100 randomly generated posts using the FakerPress plugin. That way, we’re not testing WordPress with an empty database. For each hosting plan, we’ll be running GT Metrix three times and average the fully loaded time. We’ll also run a small load test of 100 visits with 10 concurrent visitors and one with 25 concurrent visitor with apache bench.

Shared Hosting

For shared hosting, we decided to stick with CynderHost’s entry-level $1 a month plan. Here are the three GTmetrix tests we ran:

As you can see, the performance was rather consistent, with a fully loaded time of between 1.3 and 1.4 seconds. The average fully loaded time was 1.37 seconds, which I’d consider to be pretty good.

Edit: It has come to my attention that the limiting factor in the following benchmarks was actually my home internet and not the server. Check out the appendix for more benchmarks.

Here are the apache bench results (the first one is with 10 concurrent visitors, the second is with 25):

Server Software:        Apache
Server Hostname:        #################
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,2048,256
Server Temp Key:        ECDH X25519 253 bits
TLS Server Name:        #################

Document Path:          /
Document Length:        108663 bytes

Concurrency Level:      10
Time taken for tests:   10.730 seconds
Complete requests:      100
Failed requests:        0
Total transferred:      10889600 bytes
HTML transferred:       10866300 bytes
Requests per second:    9.32 [#/sec] (mean)
Time per request:       1073.047 [ms] (mean)
Time per request:       107.305 [ms] (mean, across all concurrent requests)
Transfer rate:          991.04 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:      131  321 472.0    169    1917
Processing:   210  670 137.8    686    1058
Waiting:       79  409 116.4    433     719
Total:        531  991 409.1    888    2462

Percentage of the requests served within a certain time (ms)
  50%    888
  66%    900
  75%    922
  80%    943
  90%   1330
  95%   2204
  98%   2387
  99%   2462
 100%   2462 (longest request)

So far, everything looks good. Keep in mind that these times don’t include rendering the page; it’s only how long it takes for the server to respond. Even then, it’s still a good measure of how a server deals with a large volume of traffic at once. In this case, more than 80% of the requests were served in less than a second, even when the website is under load. There were also no failed requests, and the server was able to process 9.32 requests per second.

Server Software:        Apache
Server Hostname:        #################
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,2048,256
Server Temp Key:        ECDH X25519 253 bits
TLS Server Name:        #################

Document Path:          /
Document Length:        108663 bytes

Concurrency Level:      25
Time taken for tests:   5.608 seconds
Complete requests:      100
Failed requests:        44
   (Connect: 0, Receive: 0, Length: 44, Exceptions: 0)
Non-2xx responses:      44
Total transferred:      6119252 bytes
HTML transferred:       6097800 bytes
Requests per second:    17.83 [#/sec] (mean)
Time per request:       1401.982 [ms] (mean)
Time per request:       56.079 [ms] (mean, across all concurrent requests)
Transfer rate:          1065.60 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:      138  248 145.4    167     632
Processing:    40  865 789.0    812    1948
Waiting:       40  721 677.2    534    1686
Total:        181 1113 804.3   1213    2482

Percentage of the requests served within a certain time (ms)
  50%   1213
  66%   1833
  75%   1885
  80%   1905
  90%   1978
  95%   2111
  98%   2313
  99%   2482
 100%   2482 (longest request)

As you can see, increasing the number of concurrent requests shows that the server can handle more requests per second; which in this case was 17.83 requests per second. Unfortunately, with 25 concurrent requests, less than half of the requests were served in under one second. That being said, more than 90% were served within 2 seconds, which I’d still consider pretty reasonable. The most concerning statistic is that there were 44 non-200 responses, which indicates some sort of server error. My guess is that I was using up too much RAM, which could be solved by using a caching plugin. However, this isn’t too much of a problem. If you’re paying $1/month for hosting, you’re probably not going to be getting 25 concurrent requests for an extended period of time. Or, if you are, you’re probably going to be using some sort of caching plugin.

Out of curiosity, I ran the test again with WP Super Cache installed and configured (in PHP mode), and sure enough, the errors went away:


Server Software:        Apache
Server Hostname:        #################
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,2048,256
Server Temp Key:        ECDH X25519 253 bits
TLS Server Name:        #################

Document Path:          /
Document Length:        108807 bytes

Concurrency Level:      25
Time taken for tests:   4.446 seconds
Complete requests:      100
Failed requests:        0
Total transferred:      10901100 bytes
HTML transferred:       10880700 bytes
Requests per second:    22.49 [#/sec] (mean)
Time per request:       1111.377 [ms] (mean)
Time per request:       44.455 [ms] (mean, across all concurrent requests)
Transfer rate:          2394.69 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:      191  424 264.1    351    1254
Processing:   174  294 129.9    254     898
Waiting:       44   73  30.7     61     215
Total:        399  718 295.7    605    1533

Percentage of the requests served within a certain time (ms)
  50%    605
  66%    711
  75%    811
  80%   1067
  90%   1267
  95%   1295
  98%   1443
  99%   1533
 100%   1533 (longest request)

Not only did all of the errors go away, but the response time also went down while the requests per second went up. So, as long as you use a caching plugin you should be fine.

High Performance Hosting

CynderHost also offers high-performance hosting plans, which are optimized to serve WordPress sites as fast as possible. Well, let’s see just how much faster. For this test, I chose their cheapest high-performance $18.99 a month plan. Since their high performance hosting includes both CDN and server-level caching, I ran the tests a few times to prime the cache (which would happen as soon as the first visitor visited your website) so it’s more representative of the actual day to day performance you’d get.

As you can see, CynderHost’s high-performance hosting is definitely high-performance. With 100 generated posts, the website loaded in less than a second all three times, with an average load time of just 0.6 seconds. Without any optimizations done from the WordPress side, it still gets a 100% performance score, which is pretty amazing.

Now, for the load test:

Server Software:        nginx
Server Hostname:        #################
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-ECDSA-AES128-GCM-SHA256,256,128
Server Temp Key:        ECDH P-256 256 bits
TLS Server Name:        #################

Document Path:          /
Document Length:        101211 bytes

Concurrency Level:      10
Time taken for tests:   3.786 seconds
Complete requests:      100
Failed requests:        0
Total transferred:      10171800 bytes
HTML transferred:       10121100 bytes
Requests per second:    26.41 [#/sec] (mean)
Time per request:       378.593 [ms] (mean)
Time per request:       37.859 [ms] (mean, across all concurrent requests)
Transfer rate:          2623.76 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       80  247  50.1    260     336
Processing:    33   93  53.8     84     356
Waiting:       11   43  30.2     37     232
Total:        139  340  73.2    338     674

Percentage of the requests served within a certain time (ms)
  50%    338
  66%    363
  75%    377
  80%    383
  90%    411
  95%    463
  98%    557
  99%    674
 100%    674 (longest request)

As you can see, CynderHost’s server was able to respond to 100% of requests in less than a second, with 26.41 requests per second. Which is made really impressive by the fact that there were only 10 concurrent connections, which means the server was able to respond to all 10 of them, and then some, all within a second. Let’s how well the server fares with 25 concurrent connections:

Server Software:        nginx
Server Hostname:        #################
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-ECDSA-AES128-GCM-SHA256,256,128
Server Temp Key:        ECDH P-256 256 bits
TLS Server Name:        #################

Document Path:          /
Document Length:        101211 bytes

Concurrency Level:      25
Time taken for tests:   8.718 seconds
Complete requests:      100
Failed requests:        0
Total transferred:      10171800 bytes
HTML transferred:       10121100 bytes
Requests per second:    11.47 [#/sec] (mean)
Time per request:       2179.592 [ms] (mean)
Time per request:       87.184 [ms] (mean, across all concurrent requests)
Transfer rate:          1139.36 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:      120  655 177.6    652    1099
Processing:    48  396 676.5    203    6373
Waiting:       15   99  88.4     69     497
Total:        190 1052 712.5    908    7119

Percentage of the requests served within a certain time (ms)
  50%    908
  66%    986
  75%   1077
  80%   1300
  90%   1786
  95%   1850
  98%   2011
  99%   7119
 100%   7119 (longest request)

With 25 concurrent requests, things don’t look so good. Since this is much more of an outlier than I expected, I decided to run the test one more time. It is worth noting that even without a caching plugin, there weren’t any server errors, which is definitely a good thing. Anyways, here’s the second attempt:

Server Software:        nginx
Server Hostname:        #################
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-ECDSA-AES128-GCM-SHA256,256,128
Server Temp Key:        ECDH P-256 256 bits
TLS Server Name:        #################

Document Path:          /
Document Length:        101211 bytes

Concurrency Level:      25
Time taken for tests:   3.492 seconds
Complete requests:      100
Failed requests:        0
Total transferred:      10171800 bytes
HTML transferred:       10121100 bytes
Requests per second:    28.64 [#/sec] (mean)
Time per request:       872.939 [ms] (mean)
Time per request:       34.918 [ms] (mean, across all concurrent requests)
Transfer rate:          2844.81 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       90  492 152.5    541    1216
Processing:    44  303 218.7    209     897
Waiting:       17  111  82.0    101     413
Total:        134  795 248.7    739    1555

Percentage of the requests served within a certain time (ms)
  50%    739
  66%    779
  75%    795
  80%   1015
  90%   1219
  95%   1221
  98%   1441
  99%   1555
 100%   1555 (longest request)

Ok, this is more like what I was expecting. Just under 80% of all requests were served in under a second, with all requests being served in under 2 seconds. Additionally, the server was able to serve 28.64 requests per second.

I didn’t run a test with a caching plugin because CynderHost does their own caching here. You can see this by looking at the response headers when you visit your website, which will look something like this:

HTTP/2 200 
date: Tue, 24 Nov 2020 06:31:35 GMT
cache-control: max-age=86400
content-length: 101211
content-type: text/html; charset=UTF-8
accept-ranges: bytes
server: nginx
link: <https://###########/index.php?rest_route=/>; rel="https://api.w.org/"
x-mod-pagespeed: 1.13.35.2-0
x-cache-status: HIT
x-powered-by: CynderHost HP
x-hw: 1606199495.cds070.da2.hn,1606199495.cds137.da2.c
x-delivered-by: CynderHost CDN

The x-cache-status header indicates whether or not the cache was used. In this case, the cache was hit, which means the request didn’t reach the server in the first place. As such, using a caching plugin wouldn’t affect the performance at all.

Conclusion

Overall, CynderHost is an excellent choice for web hosting. Whether you’re looking for the cheapest shared hosting plan you can find, or affordable high-performance hosting, CynderHost has a plan that fits your needs. Their pricing is extremely affordable, their hosting performs much better than expected for the price, and they have some of the best customer support I’ve ever come across.

Appendix

It turns out that the limiting factor in the benchmarks was actually my internet connection, and not CynderHost. So, I’ve re-run the benchmarks from a VPS, which has a much faster internet connection. These are less representative of real-world performance, but still show just how much the servers can handle. And, sure enough, the results are drastically different.

Shared Hosting

Here are the results for 10 concurrent connections:

Server Software:        Apache
Server Hostname:        #################
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,2048,256
TLS Server Name:        #################

Document Path:          /
Document Length:        108663 bytes

Concurrency Level:      10
Time taken for tests:   8.453 seconds
Complete requests:      100
Failed requests:        0
Total transferred:      10889600 bytes
HTML transferred:       10866300 bytes
Requests per second:    11.83 [#/sec] (mean)
Time per request:       845.282 [ms] (mean)
Time per request:       84.528 [ms] (mean, across all concurrent requests)
Transfer rate:          1258.09 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       86   93   3.8     93     101
Processing:   422  718 111.6    709    1103
Waiting:      135  474 109.6    500     803
Total:        517  812 112.7    801    1196

Percentage of the requests served within a certain time (ms)
  50%    801
  66%    812
  75%    892
  80%    895
  90%    926
  95%    996
  98%   1122
  99%   1196
 100%   1196 (longest request)

Surprisingly, the requests per second were actually a bit lower than when run from my computer, but the longest request time was also lower. The requests per second are close enough to be in what I’d consider a reasonable margin of error, so let’s move on to 25 concurrent connections:

Server Software:        Apache
Server Hostname:        #################
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,2048,256
TLS Server Name:        #################

Document Path:          /
Document Length:        288 bytes

Concurrency Level:      25
Time taken for tests:   3.434 seconds
Complete requests:      100
Failed requests:        37
   (Connect: 0, Receive: 0, Length: 37, Exceptions: 0)
Non-2xx responses:      63
Total transferred:      4059329 bytes
HTML transferred:       4038675 bytes
Requests per second:    29.12 [#/sec] (mean)
Time per request:       858.600 [ms] (mean)
Time per request:       34.344 [ms] (mean, across all concurrent requests)
Transfer rate:          1154.26 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       86   93   4.7     93     105
Processing:    28  547 733.0     32    1918
Waiting:       28  457 625.4     32    1714
Total:        115  640 733.1    130    2021

Percentage of the requests served within a certain time (ms)
  50%    130
  66%    618
  75%   1506
  80%   1711
  90%   1895
  95%   1926
  98%   2007
  99%   2021
 100%   2021 (longest request)

Similar to last time, there were a large amount of failed requests due to WordPress exhausting the allocated resources. So, let’s try again with WP Super Cache (PHP mode):

Server Software:        Apache
Server Hostname:        #################
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,2048,256
TLS Server Name:        #################

Document Path:          /
Document Length:        108807 bytes

Concurrency Level:      25
Time taken for tests:   0.909 seconds
Complete requests:      100
Failed requests:        0
Total transferred:      10901100 bytes
HTML transferred:       10880700 bytes
Requests per second:    110.04 [#/sec] (mean)
Time per request:       227.188 [ms] (mean)
Time per request:       9.088 [ms] (mean, across all concurrent requests)
Transfer rate:          11714.53 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       86   94   5.0     93     106
Processing:   114  125   8.1    121     152
Waiting:       30   35   5.4     32      47
Total:        201  219  12.3    214     245

Percentage of the requests served within a certain time (ms)
  50%    214
  66%    225
  75%    229
  80%    231
  90%    241
  95%    242
  98%    244
  99%    245
 100%    245 (longest request)

With a caching plugin, the performance is amazing for a shared hosting plan. CynderHost’s servers were able to serve 110 requests per second, with the longest request taking 245 ms.

High-Performance Hosting

As usual, here are the results for 100 requests with 10 concurrent connections:

Server Software:        nginx
Server Hostname:        #################
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-ECDSA-AES128-GCM-SHA256,256,128
TLS Server Name:        #################

Document Path:          /
Document Length:        101211 bytes

Concurrency Level:      10
Time taken for tests:   0.169 seconds
Complete requests:      100
Failed requests:        0
Total transferred:      10171800 bytes
HTML transferred:       10121100 bytes
Requests per second:    590.84 [#/sec] (mean)
Time per request:       16.925 [ms] (mean)
Time per request:       1.692 [ms] (mean, across all concurrent requests)
Transfer rate:          58690.69 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        5    7   1.7      7      13
Processing:     6    9   1.8      9      17
Waiting:        3    5   1.3      4      13
Total:         13   16   2.6     16      30

Percentage of the requests served within a certain time (ms)
  50%     16
  66%     16
  75%     17
  80%     18
  90%     19
  95%     20
  98%     26
  99%     30
 100%     30 (longest request)

As expected, the bottleneck in the previous tests were with my home internet connection (and possibly computer), not CynderHost’s servers. When run from my VPS, the longest request took 30ms to run, and their servers were able to serve just under 600 requests per second. Which I think we can all agree is in the high-performance category.

Here are the results for 25 concurrent connections:

Server Software:        nginx
Server Hostname:        #################
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-ECDSA-AES128-GCM-SHA256,256,128
TLS Server Name:        #################

Document Path:          /
Document Length:        101211 bytes

Concurrency Level:      25
Time taken for tests:   0.151 seconds
Complete requests:      100
Failed requests:        0
Total transferred:      10171800 bytes
HTML transferred:       10121100 bytes
Requests per second:    661.61 [#/sec] (mean)
Time per request:       37.786 [ms] (mean)
Time per request:       1.511 [ms] (mean, across all concurrent requests)
Transfer rate:          65720.55 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        6   14   5.1     13      24
Processing:     8   21   7.6     21      61
Waiting:        3    6   4.7      5      45
Total:         19   36   8.7     35      85

Percentage of the requests served within a certain time (ms)
  50%     35
  66%     36
  75%     38
  80%     38
  90%     46
  95%     55
  98%     57
  99%     85
 100%     85 (longest request)

And no, those aren’t typos. The entire test completed in less than two-tenths of a second, and the longest request took 85 ms. CynderHost’s servers were also able to respond to around 660 requests per second, which is even more than the last test!

0 Comments

Submit a Comment

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

Categories