arrow_upward

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
cyberpanel + webmin = fastest web server ever
#1
I sort of stumbled on this by accident, but in my opinion it's just too good not to share. If you're already in the know, then you know. If not, keep reading.

I discovered recently, quite by accident, that I have 2 VPS in the same datacenter, and on the same node. The ping time between the two is ~.3ms, so very low latency. I decided to try and take advantage of this coincidence by setting these two servers to work in concert.

I've been very impressed with cyberpanel, having used it for a couple months now. It's very clean and intuitive; but it's a bit on the heavy side for a minimalist such as myself.

Webmin is a sturdy well known web server admin panel that's been in development for years. It's  lighter than cyberpanel, but also  less user friendly.

So what I did as an experiment, just to see how it would perform, was set up in webmin a remote database for my cyberpanel installation, making sure to set user and database permissions so the db server can only be accessed from the web server.  I then did a custom install of cyberpanel, leaving out the services I can offload (dns, FTP, email). What I found at the end was the best of both worlds.

All I can say at this point is WOW. OpenLightSpeed Web Server, left doing nothing but serving web pages, with another nearby server handling database queries, moves remarkably fast. Like spooky fast. Ludicrous speed. I knew as soon as I installed wordpress and started looking through themes and plugins I was on to something. I haven't ever seen wordpress move that way on a remote server. It's almost as fast a local install.

The backend for cyberpanel, with a standard install, isn't bad. It pretty peppy, and won't leave you twiddling your thumbs. With remote database implemented on the same node, it's about twice as fast.

Don't believe it? I probably wouldn't either, if I hadn't seen it. Keep reading.

What I'm curious about now is how well it will perform under a bit of strain - more than I can stress it on my own. So here's an offer for the community: for a limited time only. If any respected members of the community want to try out cyberpanel with no risk, I'll be happy to set you up with a user account on my cyberpanel vps.

A few notes about this offer:

*For now, it is only available to respected community members
*This is a minimal setup. There is no DNS, FTP, or email. You need to be comfortable working with a file manager to manage your website, and able to set DNS records at your domain registrar.
*I can make you a subdomain if needed.
*you can use sendmail for transactional emails
*It's hosted on a couple small vps. All server resources are to be considered 'fair share'. What this means is that everyone gets a fair share - if you are getting more than your fair share, preventing others from getting their fair share, you may be removed.
*this is an new, experimental service. I am an amateur admin. You should literally expect everything to fall apart at any moment, and be surprised if it doesn't.
*servers located in Los Angeles, USA. Anything you place on the server must comply with US law.
*limited resources mean that available accounts will be delivered on a first-come first-served basis.
*servers and domain are paid until 9/2021. Consider it a small miracle if the service is still available at this time next year.
*I'm one person, not a large company. Anything can happen at any time. If I get struck by lightning or some other crazy accident, the service could disappear with 0 notice. You should expect this to happen and be prepared for it.
*I will be watching like a proud parent for any sign of abuse or misuse. Legitimate use only. Testing is legitimate. Experimentation is legitimate. Porn is not legitimate. Your personal file server is not legitimate. Common sense should be applied.

Lastly, I prefer to make this offer available to persons who haven't yet had an opportunity to try cyberpanel. I'm not personally involved with cyberpanel, but I'm very impressed with how it performs, and I'm happy to promote it over greedy cpanel.

If you want to try it out, here's all I ask.
1. Respected community members only. If you are a hosted member, you qualify. If you are not hosted but feel you are a respected community member, I'll happily review your request.
2. Send me a pm with an estimate of your hosting requirements in terms of disk space/ bandwidth.
3. In your pm include a  description of what type of website/service you intend to host. Indicate if you require a subdomain.
4. make a post on p4v displaying your work, when you have something worth showing.

Why am I doing this? Two main reasons:

1. I got lucky on Black Friday with a some free VPS during a holiday giveaway. As I got them for free, this is my way of giving back. I don't like the idea of selling something I didn't pay for.
2. I think it could turn into a good learning opportunity. Research is great. Experience is often better. Your account on the server is selfishly for my own education and personal benefit. You will break things and I will have to fix them. That's how I will learn. Throw a wrench at it. Give it hell.
#2
(12-13-2020, 01:57 AM)fitkoh Wrote: So what I did as an experiment, just to see how it would perform, was set up in webmin a remote database for my cyberpanel installation, making sure to set user and database permissions so the db server can only be accessed from the web server.  I then did a custom install of cyberpanel, leaving out the services I can offload (dns, FTP, email). What I found at the end was the best of both worlds.

All I can say at this point is WOW. OpenLightSpeed Web Server, left doing nothing but serving web pages, with another nearby server handling database queries, moves remarkably fast. Like spooky fast. Ludicrous speed. I knew as soon as I installed wordpress and started looking through themes and plugins I was on to something. I haven't ever seen wordpress move that way on a remote server. It's almost as fast a local install.

The backend for cyberpanel, with a standard install, isn't bad. It pretty peppy, and won't leave you twiddling your thumbs. With remote database implemented on the same node, it's about twice as fast.
Having 2 VPSs on the same node is indeed quite an opportunity for experimentation. I recall having the same opportunity but with RedHat's OpenShift containers once.

I tried to mentally follow your setup but didn't quite get it. It would seem that you've just dedicated one VPS to be the database server; did I get that right?.. If so, can you give us the specs of that VPS.

Overall, it would be nice to document in more technical details the whole setup (may be as a tutorial instead of a follow-up post?), detailing what's hosted on each vps, the specs of each one of them, the ping between the two, the traceroute path (which should contain 1 hop to the datacenter router) etc...
VirMach's Buffalo_VPS-9 Holder (Dec. 20 - July 21)
microLXC's Container Holder (july 20 - ?)
VirMach's Phoenix_VPS-9 Holder (Apr. 20 - June 20)
NanoKVM's NAT-VPS Holder (jan. 20 - ?)
#3
(12-13-2020, 06:30 AM)fChk Wrote: Having 2 VPSs on the same node is indeed quite an opportunity for experimentation. I recall having the same opportunity but with RedHat's OpenShift containers once.

I tried to mentally follow your setup but didn't quite get it. It would seem that you've just dedicated one VPS to be the database server; did I get that right?.. If so, can you give us the specs of that VPS.

Overall, it would be nice to document in more technical details the whole setup (may be as a tutorial instead of a follow-up post?), detailing what's hosted on each vps, the specs of each one of them, the ping between the two, the traceroute path (which should contain 1 hop to the datacenter router) etc...

That's precisely what I did: one vps serving database, and the other everything else.

I've heard of traceroute, but never needed to use it; though I think I have a general understanding of it's purpose. I'd be curious to know what exactly you're looking for in traceroute.

Specs:

*Racknerd advertised these as having NVME disk and ECC DDR4 RAM. I don't know how to verify that from terminal, but given the performance I don't doubt it.

server0 with CyberPanel and OpenLightSpeed WebServer:

# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #
#              Yet-Another-Bench-Script              #
#                     v2020-12-07                    #
# https://github.com/masonr/yet-another-bench-script #
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #

Sun Dec 13 07:57:10 GMT 2020

Basic System Information:
---------------------------------
Processor  : AMD Ryzen 9 3900X 12-Core Processor
CPU cores  : 1 @ 3792.870 MHz
AES-NI     : ✔ Enabled
VM-x/AMD-V : ✔ Enabled
RAM        : 985.4 MiB
Swap       : 1024.0 MiB
Disk       : 15.2 GiB

fio Disk Speed Tests (Mixed R/W 50/50):
---------------------------------
Block Size | 4k            (IOPS) | 64k           (IOPS)
 ------   | ---            ----  | ----           ----
Read       | 383.23 MB/s  (95.8k) | 1.58 GB/s    (24.7k)
Write      | 384.24 MB/s  (96.0k) | 1.59 GB/s    (24.8k)
Total      | 767.48 MB/s (191.8k) | 3.17 GB/s    (49.6k)
          |                      |                    
Block Size | 512k          (IOPS) | 1m            (IOPS)
 ------   | ---            ----  | ----           ----
Read       | 1.79 GB/s     (3.5k) | 1.90 GB/s     (1.8k)
Write      | 1.89 GB/s     (3.6k) | 2.03 GB/s     (1.9k)
Total      | 3.68 GB/s     (7.1k) | 3.94 GB/s     (3.8k)

Server1 sql + webmin

# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #
#              Yet-Another-Bench-Script              #
#                     v2020-12-07                    #
# https://github.com/masonr/yet-another-bench-script #
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #

Sun Dec 13 08:04:36 GMT 2020

Basic System Information:
---------------------------------
Processor  : AMD Ryzen 9 3900X 12-Core Processor
CPU cores  : 1 @ 3792.870 MHz
AES-NI     : ✔ Enabled
VM-x/AMD-V : ✔ Enabled
RAM        : 481.4 MiB
Swap       : 512.0 MiB
Disk       : 14.2 GiB

fio Disk Speed Tests (Mixed R/W 50/50):
---------------------------------
Block Size | 4k            (IOPS) | 64k           (IOPS)
 ------   | ---            ----  | ----           ----
Read       | 396.28 MB/s  (99.0k) | 1.57 GB/s    (24.6k)
Write      | 397.33 MB/s  (99.3k) | 1.58 GB/s    (24.7k)
Total      | 793.62 MB/s (198.4k) | 3.16 GB/s    (49.4k)
          |                      |                    
Block Size | 512k          (IOPS) | 1m            (IOPS)
 ------   | ---            ----  | ----           ----
Read       | 1.67 GB/s     (3.2k) | 1.75 GB/s     (1.7k)
Write      | 1.76 GB/s     (3.4k) | 1.87 GB/s     (1.8k)
Total      | 3.44 GB/s     (6.7k) | 3.62 GB/s     (3.5k)

Traceroute: s1 -> s0

$ traceroute 173.82.93.XXX
traceroute to 173.82.93.XXX (173.82.93.XXX), 30 hops max, 60 byte packets
1  225-123-82-XXX-dedicated.multacom.com (173.82.123.XXX)  0.363 ms  0.368 ms  0.426 ms
2  173.82.93.XXX (173.82.93.XXX)  0.359 ms !X  0.414 ms !X  0.409 ms !X

Ping: s1 -> s0
64 bytes from 173.82.93.XXX (173.82.93.XXX): icmp_seq=2 ttl=63 time=0.294 ms
64 bytes from 173.82.93.XXX (173.82.93.XXX): icmp_seq=3 ttl=63 time=0.319 ms
64 bytes from 173.82.93.XXX (173.82.93.XXX): icmp_seq=4 ttl=63 time=0.320 ms
64 bytes from 173.82.93.XXX (173.82.93.XXX): icmp_seq=5 ttl=63 time=0.366 ms
64 bytes from 173.82.93.XXX (173.82.93.XXX): icmp_seq=6 ttl=63 time=0.392 ms

I'll be happy to improvise a tutorial, but I think it'll happen tomorrow or the next day, (not tonight) depending on how much time I put into it. I have a general mockup of the steps taken, but for a tutorial I'd want to have c&p commands and maybe some screenshots, links to docs pertaining to the tutorial, etc, which will take some additional time.
#4
(12-13-2020, 08:27 AM)fitkoh Wrote: I've heard of traceroute, but never needed to use it; though I think I have a general understanding of it's purpose. I'd be curious to know what exactly you're looking for in traceroute.
To get the definitive proof that your 2 VPSs are indeed on the same node. You can obfuscate any IP that may be too revealing...

Ok! I just saw the traceroute result bellow. As expected, 1 hop to your datacenter external router (its LA-based) then back again to their internal IPs.

(12-13-2020, 08:27 AM)fitkoh Wrote: Racknerd advertised these as having NVME disk and ECC DDR4 RAM. I don't know how to verify that from terminal, but given the performance I don't doubt it.
I still never had a VPS with an NVMe-based SSD storage so I can only point to benchmarking as the best way to assess for its presence (generally in the order of Gigabyte speed.) See this thread where we discussed a bit about this disk speed issue. By the way, Your fio disk test kind of confirms it is an NVMe-backed storage.

Also, you may want to run the 'lsblk' command to see if the nvme prefix is present, although I doubt it may show up in a VPS environment (but it will if it was on your PC.)

@fitkoh

How's "Server1 sql + webmin" doing RAM-wise?.. I would guess that swapping has already kicked in?.. But it should help to have that NVMe-based SSD storage :-)

On the other-hand do you really need webmin or is just consuming resources --especially RAM in this case-- for things that can be done at the command-line ?

Last point, how are you monitoring your systems?
VirMach's Buffalo_VPS-9 Holder (Dec. 20 - July 21)
microLXC's Container Holder (july 20 - ?)
VirMach's Phoenix_VPS-9 Holder (Apr. 20 - June 20)
NanoKVM's NAT-VPS Holder (jan. 20 - ?)
#5
(12-16-2020, 07:19 AM)fChk Wrote:
@fitkoh

How's "Server1 sql + webmin" doing RAM-wise?.. I would guess that swapping has already kicked in?.. But it should help to have that NVMe-based SSD storage :-)

On the other-hand do you really need webmin or is just consuming resources --especially RAM in this case-- for things that can be done at the command-line ?

Last point, how are you monitoring your systems?

It is swapping some but not bad, and not really not noticeable from a performance standpoint.

   

Although now that you mention it, I wonder if I could improve performance by adjusting swappiness.

Webmin, in terms of ram usage is very minimal; about 20mb.  It's also very easy to turn off from the command line, when it isn't needed. While webmin is not strictly required, and I've indeed left it off for days at a time, it's very useful in the situations that could arise. What are those situations? Could be a lot of things. Changing permissions. Creating users. Editing config files for...? If I wanted to add a webserver to the system, having webmin would allow me to perform the operation without googling specific terminal commands. I like it for the easy way to monitor traffic/load/resource consumption/logs. All of these things can be done by the command line, but webmin makes it easier.

Here is what memory usage looks like after $/etc/init.d/webmin stop
free -m
             total        used        free      shared  buff/cache   available
Mem:            481         174          62           0         244         294
Swap:           511         176         335

(edit)Looks like it's closer to 50mb for webmin, it definitely caches a bit better when webmin is off.(/edit)

Cyberpanel is also built with tools to monitor disk/bandwidh consumption, and real-time cpu/memory/drive usage, easy way to monitor traffic/access logs. It isn't quite as light as webmin, but still very fast.

For uptime I use statuscake.com - a simple uptime service that monitors up to 10 sites for free; I've scheduled checks for every 15 minutes.

I try to check on my solusvm panels once a day, but to be fair I miss a day here and there, just in case something slipped by somewhere else. I've heard stories of people losing a terabyte in band a day from ddos; thus far I've been able to stay well within my package limits according to what solus is telling me.

[edit] I started thinking not just about what you were asking, but also why you were asking. That line of thought led me to look if statuscake had a status window for sites monitored. And it does, but it's a paid feature. So I went for uptimerobot and made a status window: https://uptime.surprising.design <--the uptimes will look stellar since these are new monitors Smile
#6
(12-18-2020, 10:51 AM)fitkoh Wrote: Webmin, in terms of ram usage is very minimal; about 20mb.  It's also very easy to turn off from the command line, when it isn't needed. While webmin is not strictly required, and I've indeed left it off for days at a time, it's very useful in the situations that could arise. What are those situations? Could be a lot of things. Changing permissions. Creating users. Editing config files for...? If I wanted to add a webserver to the system, having webmin would allow me to perform the operation without googling specific terminal commands. I like it for the easy way to monitor traffic/load/resource consumption/logs. All of these things can be done by the command line, but webmin makes it easier.
Its RAM usage should be proportional to the workload it's doing with intermittent spikes when it kicks-in; so having it off when not needed is a good idea.

(12-18-2020, 10:51 AM)fitkoh Wrote: It is swapping some but not bad, and not really not noticeable from a performance standpoint.

Although now that you mention it, I wonder if I could improve performance by adjusting swappiness.

(...)

Here is what memory usage looks like after $/etc/init.d/webmin stop
free -m
             total        used        free      shared  buff/cache   available
Mem:            481         174          62           0         244         294
Swap:           511         176         335

(edit)Looks like it's closer to 50mb for webmin, it definitely caches a bit better when webmin is off.(/edit)
Any bit of RAM is a breeze for systems that tight memory-wise. Besides, I hope you do realize that the portion of the RAM used by the buff/cache is critical(/needed) for improving I/O, especially for a database-dedicated system.

(12-18-2020, 10:51 AM)fitkoh Wrote: Cyberpanel is also built with tools to monitor disk/bandwidh consumption, and real-time cpu/memory/drive usage, easy way to monitor traffic/access logs. It isn't quite as light as webmin, but still very fast.

For uptime I use statuscake.com - a simple uptime service that monitors up to 10 sites for free; I've scheduled checks for every 15 minutes.

I try to check on my solusvm panels once a day, but to be fair I miss a day here and there, just in case something slipped by somewhere else. I've heard stories of people losing a terabyte in band a day from ddos; thus far I've been able to stay well within my package limits according to what solus is telling me.
I never liked the idea of using third-party stuff (I know that's a recurring theme with me :-), thus I teamed up with a fellow member going by the username of 'manfer' back at FFS (FreeFTPSpace) to hack a decent server monitor for FFS hosting server. Actually, he did all the coding (so the credit is his), I did just review the front-end(/js) code and helped with few optimization around it.

Right away, that exercise did motivate me into writing a quasi real-time module (updated every minutes via a websocket-backed Nodejs back-end), stuffed with more system state params that I felt to be important when I started to run my own VPSs.

I may post a topic on it in the Web development section down the road. It should be quite educational.

(12-18-2020, 10:51 AM)fitkoh Wrote: [edit] I started thinking not just about what you were asking, but also why you were asking. (...)
The why is simply because of the limited system RAM for a database server. Database systems need as much RAM as you can through at them to perform better.
VirMach's Buffalo_VPS-9 Holder (Dec. 20 - July 21)
microLXC's Container Holder (july 20 - ?)
VirMach's Phoenix_VPS-9 Holder (Apr. 20 - June 20)
NanoKVM's NAT-VPS Holder (jan. 20 - ?)
#7
(12-19-2020, 10:23 AM)fChk Wrote: I never liked the idea of using third-party stuff (I know that's a recurring theme with me :-), thus I teamed up with a fellow member going by the username of 'manfer' back at FFS (FreeFTPSpace) to hack a decent server monitor for FFS hosting server. Actually, he did all the coding (so the credit is his), I did just review the front-end(/js) code and helped with few optimization around it.

The why is simply because of the limited system RAM for a database server. Database systems need as much RAM as you can through at them to perform better.

I'll be the first one to say I'm not a huge fan of third party stuff - but it does have benefits: primarily that any resource drain you can offload can be used to increase performance elsewhere.

Obviously more ram is better. One of my main goals in this project, however, is to test the performance and see how much it can handle. I'm terribly interested to find out how much pressure the tiny .5gb database will take before it starts to buckle and lose performance Smile

On a related subject:

I've been testing VPS2 because of it's location: it's in the same datacenter as s0 and s1 (although not on the same node). Here's some data I collected during testing:

s0 to VPS2 


traceroute - s0 to vps 2
 traceroute 96.43.xxx.xxx
traceroute to 96.43.xxx.xxx (96.43.xxx.xxx), 30 hops max, 60 byte packets
 1  * * *
 2  asr1.xxx.multacom.com (72.44.xxx.xxx)  0.874 ms  0.893 ms  0.944 ms
 3  2.162.xxx.xxx-dedicated.multacom.com (96.45.xxx.xxx)  0.875 ms  1.409 ms  1.069 ms
 4  xxx.pursuate.net (96.43.xxx.xxx)  0.468 ms  0.506 ms  0.501 ms
64 bytes from 96.43.xxx.xxx: icmp_seq=1 ttl=61 time=0.430 ms
64 bytes from 96.43.xxx.xxx: icmp_seq=2 ttl=61 time=0.475 ms
64 bytes from 96.43.xxx.xxx: icmp_seq=3 ttl=61 time=0.471 ms
64 bytes from 96.43.xxx.xxx: icmp_seq=4 ttl=61 time=0.449 ms

s1 to VPS2
traceroute 96.43.xxx.xxx
traceroute to 96.43.xxx.xxx (96.43.xxx.xxx), 30 hops max, 60 byte packets
1  225-123-xxx.xxx-dedicated.multacom.com (173.82.xxx.xxx)  0.314 ms  0.342 ms  0.383 ms
2  be4-1.xxx.xxx.multacom.com (208.64.xxx.xxx)  0.673 ms  0.740 ms  0.823 ms
3  xxx.multacom.com (96.45.xxx.xxx)  0.769 ms  1.372 ms  1.061 ms
4  xxx.pursuate.net (96.43.xxx.xxx)  0.390 ms  0.386 ms  0.383 ms
64 bytes from 96.43.xxx.xxx: icmp_seq=1 ttl=61 time=0.405 ms
64 bytes from 96.43.xxx.xxx: icmp_seq=2 ttl=61 time=0.438 ms
64 bytes from 96.43.xxx.xxx: icmp_seq=3 ttl=61 time=0.479 ms
64 bytes from 96.43.xxx.xxx: icmp_seq=4 ttl=61 time=0.420 ms

So you can see the connection speed is still very good. About .1ms of increased latency.

Also some VPS2 benchmarks


Basic System Information:
---------------------------------
Processor  : Intel® Xeon® CPU E5-2690 0 @ 2.90GHz
CPU cores  : 2 @ 2899.996 MHz
AES-NI     : ✔ Enabled
VM-x/AMD-V : ❌ Disabled
RAM        : 1.9 GiB
Swap       : 2.0 GiB
Disk       : 33.4 GiB

fio Disk Speed Tests (Mixed R/W 50/50):
---------------------------------
Block Size | 4k            (IOPS) | 64k           (IOPS)
  ------   | ---            ----  | ----           ----
Read       | 2.95 MB/s      (738) | 44.97 MB/s     (702)
Write      | 2.97 MB/s      (742) | 45.20 MB/s     (706)
Total      | 5.92 MB/s     (1.4k) | 90.18 MB/s    (1.4k)
           |                      |                     
Block Size | 512k          (IOPS) | 1m            (IOPS)
  ------   | ---            ----  | ----           ----
Read       | 136.79 MB/s    (267) | 140.49 MB/s    (137)
Write      | 144.06 MB/s    (281) | 149.85 MB/s    (146)
Total      | 280.85 MB/s    (548) | 290.34 MB/s    (283)

iperf3 Network Speed Tests (IPv4):
---------------------------------
Provider        | Location (Link)           | Send Speed      | Recv Speed     
                |                           |                 |                
Clouvider       | London, UK (10G)          | 824 Mbits/sec   | 57.8 Mbits/sec
Online.net      | Paris, FR (10G)           | 766 Mbits/sec   | 47.7 Mbits/sec
WorldStream     | The Netherlands (10G)     | 813 Mbits/sec   | 60.3 Mbits/sec
Biznet          | Jakarta, Indonesia (1G)   | 690 Mbits/sec   | 37.1 Mbits/sec
Clouvider       | NYC, NY, US (10G)         | 886 Mbits/sec   | 144 Mbits/sec  
Velocity Online | Tallahassee, FL, US (10G) | 883 Mbits/sec   | 110 Mbits/sec  
Clouvider       | Los Angeles, CA, US (10G) | 904 Mbits/sec   | 851 Mbits/sec  
Iveloz Telecom  | Sao Paulo, BR (2G)        | 732 Mbits/sec   | 47.0 Mbits/sec

You can see comparatively the difference between vps2, s0, and s1. While the overall performance is nearly the same, VPS 2 has more disk, more ram, but the networking and disk ios are much lower.

So now the challenge is to see if there's a way to integrate VPS2 into the system in a way that will be beneficial.

I have considered a couple ideas:

*NFS - mount VPS2 as a network share to extend the drive capacity of the web server

*Squid - Place a squid proxy in front of the web server to make good use of caching

*Rebuild -
  • Swap s0 for s1 -> s1 becomes new DB server (More RAM)
  • Swap VPS2 for s0 -> VPS2 becomes web server
  • s0 -> could be used for squid proxy or memcache
Or
  • VPS2 -> Web Server & database
  • s0 -> squid proxy
  • s1 -> memcached
#8
(12-19-2020, 05:42 PM)fitkoh Wrote: One of my main goals in this project, however, is to test the performance and see how much it can handle. I'm terribly interested to find out how much pressure the tiny .5gb database will take before it starts to buckle and lose performance Smile
Okay!.. Keep us posted on that point!.. I'm also interested on how much load a 1 Core AMD Ryzen 9 3900X with 512 MiB RAM using 14 GiB of NVMe-based SSD storage can handle .

(12-19-2020, 05:42 PM)fitkoh Wrote: I've been testing VPS2 because of it's location: it's in the same datacenter as s0 and s1 (although not on the same node). Here's some data I collected during testing:

s0 to VPS2 


traceroute - s0 to vps 2
 traceroute 96.43.xxx.xxx
traceroute to 96.43.xxx.xxx (96.43.xxx.xxx), 30 hops max, 60 byte packets
 1  * * *
 2  asr1.xxx.multacom.com (72.44.xxx.xxx)  0.874 ms  0.893 ms  0.944 ms
 3  2.162.xxx.xxx-dedicated.multacom.com (96.45.xxx.xxx)  0.875 ms  1.409 ms  1.069 ms
 4  xxx.pursuate.net (96.43.xxx.xxx)  0.468 ms  0.506 ms  0.501 ms
64 bytes from 96.43.xxx.xxx: icmp_seq=1 ttl=61 time=0.430 ms
64 bytes from 96.43.xxx.xxx: icmp_seq=2 ttl=61 time=0.475 ms
64 bytes from 96.43.xxx.xxx: icmp_seq=3 ttl=61 time=0.471 ms
64 bytes from 96.43.xxx.xxx: icmp_seq=4 ttl=61 time=0.449 ms

s1 to VPS2
traceroute 96.43.xxx.xxx
traceroute to 96.43.xxx.xxx (96.43.xxx.xxx), 30 hops max, 60 byte packets
1  225-123-xxx.xxx-dedicated.multacom.com (173.82.xxx.xxx)  0.314 ms  0.342 ms  0.383 ms
2  be4-1.xxx.xxx.multacom.com (208.64.xxx.xxx)  0.673 ms  0.740 ms  0.823 ms
3  xxx.multacom.com (96.45.xxx.xxx)  0.769 ms  1.372 ms  1.061 ms
4  xxx.pursuate.net (96.43.xxx.xxx)  0.390 ms  0.386 ms  0.383 ms
64 bytes from 96.43.xxx.xxx: icmp_seq=1 ttl=61 time=0.405 ms
64 bytes from 96.43.xxx.xxx: icmp_seq=2 ttl=61 time=0.438 ms
64 bytes from 96.43.xxx.xxx: icmp_seq=3 ttl=61 time=0.479 ms
64 bytes from 96.43.xxx.xxx: icmp_seq=4 ttl=61 time=0.420 ms

So you can see the connection speed is still very good. About .1ms of increased latency.
(......)
First off!.. Congratulations for VPS-2!.. I wasn't aware that you did pick a P4V VPS. And, yes, your choice is spot ON!

(12-19-2020, 05:42 PM)fitkoh Wrote: (.....)
Also some VPS2 benchmarks

Basic System Information:
---------------------------------
Processor  : Intel® Xeon® CPU E5-2690 0 @ 2.90GHz
CPU cores  : 2 @ 2899.996 MHz
AES-NI     : ✔ Enabled
VM-x/AMD-V : ❌ Disabled
RAM        : 1.9 GiB
Swap       : 2.0 GiB
Disk       : 33.4 GiB

fio Disk Speed Tests (Mixed R/W 50/50):
---------------------------------
Block Size | 4k            (IOPS) | 64k           (IOPS)
  ------   | ---            ----  | ----           ----
Read       | 2.95 MB/s      (738) | 44.97 MB/s     (702)
Write      | 2.97 MB/s      (742) | 45.20 MB/s     (706)
Total      | 5.92 MB/s     (1.4k) | 90.18 MB/s    (1.4k)
           |                      |                     
Block Size | 512k          (IOPS) | 1m            (IOPS)
  ------   | ---            ----  | ----           ----
Read       | 136.79 MB/s    (267) | 140.49 MB/s    (137)
Write      | 144.06 MB/s    (281) | 149.85 MB/s    (146)
Total      | 280.85 MB/s    (548) | 290.34 MB/s    (283)

iperf3 Network Speed Tests (IPv4):
---------------------------------
Provider        | Location (Link)           | Send Speed      | Recv Speed     
                |                           |                 |                
Clouvider       | London, UK (10G)          | 824 Mbits/sec   | 57.8 Mbits/sec
Online.net      | Paris, FR (10G)           | 766 Mbits/sec   | 47.7 Mbits/sec
WorldStream     | The Netherlands (10G)     | 813 Mbits/sec   | 60.3 Mbits/sec
Biznet          | Jakarta, Indonesia (1G)   | 690 Mbits/sec   | 37.1 Mbits/sec
Clouvider       | NYC, NY, US (10G)         | 886 Mbits/sec   | 144 Mbits/sec  
Velocity Online | Tallahassee, FL, US (10G) | 883 Mbits/sec   | 110 Mbits/sec  
Clouvider       | Los Angeles, CA, US (10G) | 904 Mbits/sec   | 851 Mbits/sec  
Iveloz Telecom  | Sao Paulo, BR (2G)        | 732 Mbits/sec   | 47.0 Mbits/sec

You can see comparatively the difference between vps2, s0, and s1. While the overall performance is nearly the same, VPS 2 has more disk, more ram, but the networking and disk ios are much lower.
For VPS-2 performance, I would say, it's pretty damn good!.. At least CPU-wise. It has 2 vCPUs of a slightly more robust CPU model than those of VPS-9!.. which makes the VPS far more appealing from what it looks like given the currently promoted specs in the 'VPS Plans' page.

This is why I've suggested to include at least the number of vCPUs in the 'VPS Plans' page -check check 'Add vCPU number to VPS Plans' thread. I'm pretty sure, if the host CPU type and the vCPU numbers are featured among the VPS specs in the P4V's VPS Plans page, the appeal of certain plans to prospective users will then change DRAMATICALLY!..

As of now, the CPU remains the big unknown for the least used VPSs (ie those for which there is no review), which is a shame really.


(12-19-2020, 05:42 PM)fitkoh Wrote: So now the challenge is to see if there's a way to integrate VPS2 into the system in a way that will be beneficial.

I have considered a couple ideas:

*NFS - mount VPS2 as a network share to extend the drive capacity of the web server

*Squid - Place a squid proxy in front of the web server to make good use of caching

*Rebuild -
  • Swap s0 for s1 -> s1 becomes new DB server (More RAM)
  • Swap VPS2 for s0 -> VPS2 becomes web server
  • s0 -> could be used for squid proxy or memcache
Or
  • VPS2 -> Web Server & database
  • s0 -> squid proxy
  • s1 -> memcached

Any progress here ?.. Did you test those ideas yet?...
VirMach's Buffalo_VPS-9 Holder (Dec. 20 - July 21)
microLXC's Container Holder (july 20 - ?)
VirMach's Phoenix_VPS-9 Holder (Apr. 20 - June 20)
NanoKVM's NAT-VPS Holder (jan. 20 - ?)
#9
(12-25-2020, 06:38 AM)fChk Wrote: Any progress here ?.. Did you test those ideas yet?...
I started out trying to test some things.

First, I wanted to try to mount a remote disk as /home, since cyberpanel uses /home as its web dir. The set up process worked fine, but I started encountering permissions errors when trying to read from the disk (writing worked fine). I'm assuming this has something to do with the way cyberpanel handles user permissions and those permissions not translating to the remote system. As for now, my cyberpanel install is broken, and can no longer read/restore my backup folder. The backups are still there, I just have to access them a different way. Maybe I'll have more success if I set up the remote disk BEFORE cyberpanel is installed, so there won't be any permission changes after the install to mess things up.

Regarding a squid cache in front of the web server: I think this could work out very well, but I had a bit of trouble finding a proper tutorial. I know the tutorial I'm looking for is out there, but I can't seem to get the right results out of google. Every search query I try gives me the same thing: How to set up squid as a proxy server for accellerated web browsing. The squid config file is like a small novel. I could probably figure it out just reading the config and comments, but it'd take a long while. Any suggestions on this would be appreciated.

Eventually, I decided with the holidays in full swing to put everything off for a bit. Over the next week I'm going to migrate everything onto my backup server so I can give myself a nice clean sandbox to play in. The backup server won't match the performance of my current setup, but with 2GB RAM and 500GB disk  it should do fine holding everything  until I can get everything moved back and around and cleaned up.
#10
(01-02-2021, 06:02 PM)fitkoh Wrote: Regarding a squid cache in front of the web server: I think this could work out very well, but I had a bit of trouble finding a proper tutorial. I know the tutorial I'm looking for is out there, but I can't seem to get the right results out of google. Every search query I try gives me the same thing: How to set up squid as a proxy server for accellerated web browsing. The squid config file is like a small novel. I could probably figure it out just reading the config and comments, but it'd take a long while. Any suggestions on this would be appreciated.
Never had to use squid so, I'm afraid, I can't be of any practical help there. Nginx has a built-in caching mechanism, why not take advantage of that? I'm not aware of how much familiar you are with Nginx, but it has more -features- than meet the eye if you dig deep into it.

I'm aware that you're trying to build a distributed system (located on 3 nodes) but setting Nginx on one node (let's say VPS-2) and PHP-FPM + DB on s1 might also work.

In this scenario, Nginx and PHP-FPM will be link via HTTP (instead of a socket) via a TCP/IP socket (instead of a unix domain socket),  PHP-FPM and the DB will share s1's CPU and Nginx will be left with the full power of the less powerful VPS-2 CPU and the weaker block device I/O-wise. s0 will remain and you can use for memcached doing whatever you want it to do OR mount its storage remotely for use in VPS-2, improving the I/O there.

Not sure if that will work but its a possibility among others. Just keep testing...


PS: for what it's worth:
https://duckduckgo.com/?q=squid+linux+proxy&ia=web

@fitkoh

Edited: I had to re-login to edit the crossed section in the text. It's getting hard to write an error-free piece of text without a cup of coffee first :-)
VirMach's Buffalo_VPS-9 Holder (Dec. 20 - July 21)
microLXC's Container Holder (july 20 - ?)
VirMach's Phoenix_VPS-9 Holder (Apr. 20 - June 20)
NanoKVM's NAT-VPS Holder (jan. 20 - ?)


Possibly Related Threads…
Thread
Author
Replies
Views
Last Post
9,163
05-09-2021, 07:46 PM
Last Post: deanhills

person_pin_circle Users browsing this thread: 1 Guest(s)
Sponsors: VirMach - Host4Fun - CubeData - Evolution-Host - HostDare - Hyper Expert - Shadow Hosting - Bladenode - Hostlease - RackNerd - ReadyDedis - Limitless Hosting