Free Server Panel – Performance

As the hosting world is evolving and growing the need/want of a control panel has become more and more used. I want to start installing some of these panels and test our their performances. I mean what good is a control panel if well the end results just don’t cut it.

With this, I will be reviewing the panels on performance only, not ease of use.

The Test VPS.
* Ubuntu 22.0.4 LTS Used for all tests, unless the panel requires a different version, such as Ubuntu 20.
* Intel(R) Xeon(R) CPU E5-2683 v4 @ 2.10GHz
* 4 GB Ram
* 2vCPU
* SSD Drive

Commands ran on the newly installed VPS

apt update && apt -y upgrade && apt -y install curl wget sudo


Each test was a complete format of the VPS and then reinstalled.

What we tested and how. We tested several website combinations.
A static HTML only site.
A PHP site.
A WordPress site.

This is the code I used for a simple index.html and a index.php

<!DOCTYPE html>
<html lang=en>
<head>
<title>Welcome to My Website</title>
</head>
<body>
<h1>Welcome to My Website</h1>
</body>
</html>

First on the chopping block: CloudPanel.io – From their website, CloudPanel is the following.
CloudPanel is a free software to configure and manage a server with an obsessive focus on simplicity.
Run static websites, PHP, Node.js and, Python applications.

Installation is pretty straight forward, copy a command or two and go.

This is the commands to get CloudPanel installed on your VPS.
Please note there are few options, MySQL, and MariaDB – https://www.cloudpanel.io/docs/v2/getting-started/other/

curl -sS https://installer.cloudpanel.io/ce/v2/install.sh -o install.sh; \
echo "85762db0edc00ce19a2cd5496d1627903e6198ad850bbbdefb2ceaa46bd20cbd install.sh" | \
sha256sum -c && sudo bash install.sh

CloudPanel is a great tool that allows for the creation of websites, from Static, PHP, Redis, and WordPress from a few clicks on the mouse.

Now lets get into the testing. Each test was ran using Apache Bench, with the following commands.

ab -n 10000 -c 100 https://html.theserveradmin.com/

ab -n 10000 -c 100 https://php.theserveradmin.com/

ab -n 10000 -c 100 https://wordpress.theserveradmin.com/

As you noted a SSL was used as the internet is now all SSL powered, which it should be.

********** - HTML - ********** 

Server Software:        nginx
Server Hostname:        html.theserveradmin.com
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,4096,256
Server Temp Key:        X25519 253 bits
TLS Server Name:        html.theserveradmin.com

Document Path:          /
Document Length:        99 bytes

Concurrency Level:      100
Time taken for tests:   77.995 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      4630000 bytes
HTML transferred:       990000 bytes
Requests per second:    128.21 [#/sec] (mean)
Time per request:       779.946 [ms] (mean)
Time per request:       7.799 [ms] (mean, across all concurrent requests)
Transfer rate:          57.97 [Kbytes/sec] received

********** - PHP - ********** 

Server Software:        nginx
Server Hostname:        php.theserveradmin.com
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,4096,256
Server Temp Key:        X25519 253 bits
TLS Server Name:        php.theserveradmin.com

Document Path:          /
Document Length:        136 bytes

Concurrency Level:      100
Time taken for tests:   84.241 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      6580000 bytes
HTML transferred:       1360000 bytes
Requests per second:    118.71 [#/sec] (mean)
Time per request:       842.406 [ms] (mean)
Time per request:       8.424 [ms] (mean, across all concurrent requests)
Transfer rate:          76.28 [Kbytes/sec] received

********** - WordPress - ********** 

Server Software:        nginx
Server Hostname:        wordpress.theserveradmin.com
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,4096,256
Server Temp Key:        X25519 253 bits
TLS Server Name:        wordpress.theserveradmin.com

Document Path:          /
Document Length:        85095 bytes

Concurrency Level:      100
Time taken for tests:   72.717 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      856900000 bytes
HTML transferred:       850950000 bytes
Requests per second:    137.52 [#/sec] (mean)
Time per request:       727.174 [ms] (mean)
Time per request:       7.272 [ms] (mean, across all concurrent requests)
Transfer rate:          11507.79 [Kbytes/sec] received

As you can see the this setup avg – 100-135 requests per second using the CloudPanel control panel.

Now on to KeyHelp

Same setup, ran the installer, and then setup the domains, and then ran the tests.

wget https://install.keyhelp.de/get_keyhelp.php -O install_keyhelp.sh ; bash install_keyhelp.sh ;
*****  HTML  *****

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

Document Path:          /
Document Length:        136 bytes

Concurrency Level:      100
Time taken for tests:   69.604 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      4120000 bytes
HTML transferred:       1360000 bytes
Requests per second:    143.67 [#/sec] (mean)
Time per request:       696.041 [ms] (mean)
Time per request:       6.960 [ms] (mean, across all concurrent requests)
Transfer rate:          57.80 [Kbytes/sec] received

*****  PHP  *****

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

Document Path:          /
Document Length:        136 bytes

Concurrency Level:      100
Time taken for tests:   75.828 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      3120000 bytes
HTML transferred:       1360000 bytes
Requests per second:    131.88 [#/sec] (mean)
Time per request:       758.284 [ms] (mean)
Time per request:       7.583 [ms] (mean, across all concurrent requests)
Transfer rate:          40.18 [Kbytes/sec] received

*****  WordPress  *****

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

Document Path:          /
Document Length:        85242 bytes

Concurrency Level:      100
Time taken for tests:   491.388 seconds
Complete requests:      4363
Failed requests:        0
Total transferred:      373032137 bytes
HTML transferred:       371910846 bytes
Requests per second:    8.88 [#/sec] (mean)
Time per request:       11262.624 [ms] (mean)
Time per request:       112.626 [ms] (mean, across all concurrent requests)
Transfer rate:          741.35 [Kbytes/sec] received


***********************   So either something went wrong, or the default settings are garbage, lets try adding some caching features just to help finish a good test.

*****  WordPress + W3 Total Cache *****

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

Document Path:          /
Document Length:        86510 bytes

Concurrency Level:      100
Time taken for tests:   80.846 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      869040000 bytes
HTML transferred:       865100000 bytes
Requests per second:    123.69 [#/sec] (mean)
Time per request:       808.459 [ms] (mean)
Time per request:       8.085 [ms] (mean, across all concurrent requests)
Transfer rate:          10497.40 [Kbytes/sec] received

So looking at these results, the out of the box WordPress is just a stock/default install. I am not impressed at all, but I will have to do some other researching on the CloudPanel as I am 99% sure it auto installs Varnish Cache.

By Anthony

Leave a Reply

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