Cyberpanel, a free and very powerful Webhosting Panel powered by LiteSpeed. Which means depending on your specs this system is fast as hell, and can pump out with the build in LS-Cache plugin *Assuming your running a WordPress site. If not, this tool still screams!
Cyberpanel is a all in one hosting panel, this means you can setup DNS, Email, Web, Database, Stats, PHPMyAdmin, SSL’s, and more. * There are some paid plugins, but they are not needed for this to be an amazing product.
I know there is a bunch of questions and what not, but honestly read their site, they answer everything. https://cyberpanel.net . Now that you read all that, what can this thing do? As we here focus on tips, tricks, and performance. So with that here we go.
Back to Linode, and picking up another one of their $12/Month Linodes.
1 CPU
2 GB’s RAM
50 GB’s Disk Space
Ubuntu 22
I have setup two test sites * depending on when this is posted, the links may not work, as well this is a test.
HTML/PHP – https://html.theserveradmin.com
WordPress – https://wordpress.theserveradmin.com
Both site setups are the default settings, no tweaking, no changes, nothing, just a true out of the box experience. With this lets test the HTML so I left the default page holder and tested it.
OK so I ran this test 5 times, as there is no way I got this results, but I did, and I repeated it across all 5 tests.
Server Software: LiteSpeed
Server Hostname: html.theserveradmin.com
Server Port: 80
Document Path: /
Document Length: 752 bytes
Concurrency Level: 50
Time taken for tests: 0.893 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 9910000 bytes
HTML transferred: 7520000 bytes
Requests per second: 11200.37 [#/sec] (mean)
Time per request: 4.464 [ms] (mean)
Time per request: 0.089 [ms] (mean, across all concurrent requests)
Transfer rate: 10839.42 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 2 0.4 2 4
Processing: 1 2 0.5 2 5
Waiting: 0 1 0.8 1 4
Total: 2 4 0.3 4 7
Percentage of the requests served within a certain time (ms)
50% 4
66% 4
75% 4
80% 4
90% 5
95% 5
98% 5
99% 6
100% 7 (longest request)
root@localhost:~#
Now I bench my tests on two simple numbers 50 Concurrent users, and 10000 requests. So with this. All I can say is HOLY FU$@ !!!!! Requests per second: 11200.37 [#/sec] (mean)
I ran this test, and the server load stayed at 0!! like ZERO, zero, nada, nothing.
Let me recap this test.
Concurrency Level: 50
Time taken for tests: 0.893 seconds
Complete requests: 10000
Failed requests: 0
Requests per second: 11200.37 [#/sec] (mean)
So that means in less then one second this thing pushed out not a ton of data because its only a basicly zero size file, but, 11K hits a second and it took it like a champ!
Ok now that is freaking amazing, I mean really?? Ok but how does it do with a WordPress site, I mean lets be real, that is what were after right? Ok so I ran the same exact test but against a “default” wordpress install, but with LS-Cache installed, and these were the results.
So I ran the exact same test, the 10,000 hits, at 50 concurrent users.
Server Software: LiteSpeed
Server Hostname: wordpress.theserveradmin.com
Server Port: 443
SSL/TLS Protocol: TLSv1.2,ECDHE-ECDSA-AES128-GCM-SHA256,256,128
Server Temp Key: X25519 253 bits
TLS Server Name: wordpress.theserveradmin.com
Document Path: /
Document Length: 51415 bytes
Concurrency Level: 50
Time taken for tests: 15.509 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 518810000 bytes
HTML transferred: 514150000 bytes
Requests per second: 644.78 [#/sec] (mean)
Time per request: 77.546 [ms] (mean)
Time per request: 1.551 [ms] (mean, across all concurrent requests)
Transfer rate: 32667.85 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 2 32 19.0 32 93
Processing: 5 45 19.3 45 114
Waiting: 0 29 19.5 28 92
Total: 19 77 7.2 75 146
Percentage of the requests served within a certain time (ms)
50% 75
66% 76
75% 77
80% 78
90% 81
95% 85
98% 110
99% 112
100% 146 (longest request)
root@localhost:~#
Ok now that is a crazy difference, but lets focus on a few things that are different,
1. PHP
2. MySQL
3. LS-Cache
So this makes a big difference, Now lets still see the amazing results for a 2 GB VPS.
Concurrency Level: 50
Time taken for tests: 15.509 seconds
Complete requests: 10000
Requests per second: 644.78 [#/sec] (mean)
644 request/second is totally nothing to sneeze at! I mean lets be real, with a load reaching 0.40 this little VPS will take a hell of a beating. Some status. ** Assuming plugins and such does reduce this and we all know it will. However without it lets look at some numbers.
644/r/s = 38,640/r/m = 2,318,400/r/h = 55,641,600/r/d = 1,669,248,000/r/m or 20,309,184,000 /requests per year!!! Now real world, if your pulling this much traffic you will need a dedicated server or four with load balancing, but it does show you the power that this can do.
Oh for giggles, lets do some crazy math on that HTML file. ** Assuming unlimited bandwidth, but this is just crazy math.
11,200/r/s = 672,000/r/m = 40,320,000/r/h = 967,680,000/r/d = 353,203,200,000/r/y.
So now some more real world, with your WordPress site, lets say you have some other plugins, and some stats, and some ads and such, so lets take that down real world to 200 requests/second. Same specs.
200/r/s = 12,000/r/m = 720,000/h = 17,280,000/r/d = 6,307,200,000/r/y
Now lets be honest, at this point your going to burn up bandwidth like its water, so your going to need a dedicated with many TB’s of bandwidth, but however you get the point of Cyberpanel. But wait thats not all!!!!
Cyberpanel lets not forget includes Email, DNS, Stats, and More!! I won’t go into to much details on this, as we all under stand what those items are, but this is a very cool feature.
Holy Cow!! I forgot PHP thats not WordPress, how could I do that?? Ok so I created a infophp file, something simple, but you can’t cache it, and it polls the engine each time.
Same test 10,000 hits 50 concurrent connections.
Server Software: LiteSpeed
Server Hostname: html.theserveradmin.com
Server Port: 80
Document Path: /info.php
Document Length: 107422 bytes
Concurrency Level: 50
Time taken for tests: 21.704 seconds
Complete requests: 10000
Failed requests: 1107
(Connect: 0, Receive: 0, Length: 9975, Exceptions: 0)
Total transferred: 1075826635 bytes
HTML transferred: 1074247859 bytes
Requests per second: 460.75 [#/sec] (mean)
Time per request: 108.518 [ms] (mean)
Time per request: 2.170 [ms] (mean, across all concurrent requests)
Transfer rate: 48407.46 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 2.0 0 30
Processing: 15 108 14.5 108 343
Waiting: 0 104 13.5 103 343
Total: 31 108 15.9 108 368
Percentage of the requests served within a certain time (ms)
50% 108
66% 111
75% 112
80% 113
90% 115
95% 116
98% 118
99% 120
100% 368 (longest request)
root@localhost:~#
Now this is reporting some odd results, notable the Requests per second, and the the Failed requests.
Those still are some very interesting numbers, as the server load did not break 0.5 during the test. So I feel semi safe to say this could handle the 50 hits that is our goal. However again, real world when you hit those numbers, you will likely have to upgrade, and real world your bandwidth charges will be killing you, so a Dedicated Server will become your best bet.
So I want to play with that html some more, let me set this up as a download or image server.
I uploaded a 2MB zip file, * many images are this size now, so I figure its a good test.
Server Software: LiteSpeed
Server Hostname: html.theserveradmin.com
Server Port: 80
Document Path: /wp-script-core.zip
Document Length: 1906010 bytes
Concurrency Level: 50
Time taken for tests: 7.430 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 19062620000 bytes
HTML transferred: 19060100000 bytes
Requests per second: 1345.98 [#/sec] (mean)
Time per request: 37.148 [ms] (mean)
Time per request: 0.743 [ms] (mean, across all concurrent requests)
Transfer rate: 2505661.19 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 0.7 1 9
Processing: 11 36 7.7 36 244
Waiting: 0 1 1.0 1 16
Total: 13 37 7.7 37 245
Percentage of the requests served within a certain time (ms)
50% 37
66% 37
75% 38
80% 38
90% 39
95% 40
98% 43
99% 46
100% 245 (longest request)
root@localhost:~#
Ok that is impressive as all getup, but lets look at a few items that were impressive to me.
Concurrency Level: 50
Complete requests: 10000
Failed requests: 0
Time taken for tests: 7.430 seconds
Total transferred: 19062620000 bytes
Requests per second: 1345.98 [#/sec] (mean)
Transfer rate: 2505661.19 [Kbytes/sec] received
So what I am reading is 50 concurrent connections, 10,000 completed requests of a 2MB file with 0 failures, pumped at at 1345/r/second and pushed out this in 7.430 seconds, oh yeah moving 19 GB’s of data in that 7 seconds. at a rate of 2.50566119/Gbps.
Lets ramp this up a little. How about a 30MB trailer video?
Server Software: LiteSpeed
Server Hostname: html.theserveradmin.com
Server Port: 80
Document Path: /F1.mp4
Document Length: 30478022 bytes
Concurrency Level: 50
Time taken for tests: 127.341 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 304782700000 bytes
HTML transferred: 304780220000 bytes
Requests per second: 78.53 [#/sec] (mean)
Time per request: 636.703 [ms] (mean)
Time per request: 12.734 [ms] (mean, across all concurrent requests)
Transfer rate: 2337349.40 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.8 0 17
Processing: 39 635 106.0 636 1259
Waiting: 0 0 1.4 0 26
Total: 39 636 106.0 636 1261
Percentage of the requests served within a certain time (ms)
50% 636
66% 641
75% 647
80% 652
90% 763
95% 812
98% 850
99% 968
100% 1261 (longest request)
root@localhost:~#
Ok so now were down to some more real world numbers. Now again this is 10,000 times a 30MB file is being requested by 50 people at the exact same time. So what do we see.
Concurrency Level: 50
Complete requests: 10000
Failed requests: 0
Requests per second: 78.53 [#/sec] (mean)
Transfer rate: 2337349.40 [Kbytes/sec] received
So some cool numbers, and some real numbers. 78.53/requests per second, that is still nothing to sneeze at! Now some cool notes
1. Server load was at pretty much 0.1 the entire time the test was running, which was expected, but dang….
2. The system processed 2.3GB which was darn close to that 2.5GB from the 2MB test, so I would bet money its the network on that test.
3. No errors/failed request.
4. 78/r/s is real world nothing to sneeze at.
Now again, we moved 38 GB’s of data in this test, so again your going to burn up your data transfer in a day at this crazy rate. but again this is a magical number that real world will not happen on a $12/Month VPS. However this is some crazy numbers that Cyberpanel can produce, along having a full control panel, email server, and the works. I am wondering what the bottle neck is? CPU, Disk, Network, RAM? What would a Ryzen 5950 with some datacenter NvME drives do? Anyone have a server like this, they want to donate to the cause or install and benchmark themselves and let us know?