12-19-2020, 05:42 PM
(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
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
Code: (Select All)
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
Code: (Select All)
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
Code: (Select All)
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
- VPS2 -> Web Server & database
- s0 -> squid proxy
- s1 -> memcached