1

The non-profit I work for is planning to host an online virtual tel-a-thon later this month.

At MAX, we plan to have 1200 people access our landing page at the same time to watch the livestream event.

I'm currently running our website on an AWS Lightsail VPS with the following specs: (See below for detailed specs)

16 GB RAM, 4 vCPUs, 320 GB SSD
Ubuntu | NGINX

Would this be able to handle 1200 users for 3 hours?

The requests users would be making are the following:

  1. Accessing the landing page

  2. Making online donations

  3. Making online sponsorship donations

  4. Possibly browsing our site

  5. Sitting Idle watching the livestream

I imagine most people will be sitting idle watching the livestream.

The livestream is hosted via YouTube and will be embedded into the landing page.

I used blazemeter.com and ran Two, 50 virtual user tests simultaneously. (100 virtual-users) During the 20 minute test my server CPU reached 77.65% and was in the burstable zone. The test had the users making many requests, not just sitting ideal.

enter image description here

Curious if I should upgrade my server, or if I'm just being paranoid.

Are there any commands I can run in my servers terminal to simulate this situation. I'm clueless when it comes to servers other than how to spin one up and launch a website on it.

Any advice would be appreciated.

Site Specs:

  • Laravel - PHP
  • Vue - JS
  • MySql

Detailed Specs:

Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  1
Core(s) per socket:  4
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               79
Model name:          Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz
Stepping:            1
CPU MHz:             2300.105
BogoMIPS:            4600.10
Hypervisor vendor:   Xen
Virtualization type: full
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            46080K
NUMA node0 CPU(s):   0-3
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx
fxsr sse sse2 ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm cpuid_fault invpcid_single pti fsgsbase bmi1 avx2 smep bmi2 erms invpcid xsaveopt
5
  • The only way to know is by simulating the load.
    – Tim
    Nov 6, 2020 at 8:12
  • @Tim I know this is a frequent question, but are there any services that you know of that could simulate this load, for free or paid?
    – daugaard47
    Nov 6, 2020 at 14:21
  • I've used JMeter in the past, it's not the easiest to use, and there are probably services that make it easy - google "load testing service". It might be somewhat complex if you have to script multiple page flows. Caching or static pages on S3 could help offload traffic.
    – Tim
    Nov 6, 2020 at 19:11
  • I've looked into JMeter, and yeah it looks like a nice learning curve. We've decided to let it ride and see what happens, as we are not expecting to get the 1200 users, but I was wanting to be prepared for the best case scenario. I did look into Laravel Vapor and this looks like a great solution for us in the future. Vapor Auto-scales on the AWS EC2 servers based on server load. I will post my result of the event next week for others to read and then close this question.
    – daugaard47
    Nov 7, 2020 at 23:18
  • Additional information request AFTER JMeter test. RAM size, # cores, any SSD or NVME devices on MySQL Host server? Post on pastebin.com and share the links. From your SSH login root, Text results of: B) SHOW GLOBAL STATUS; after minimum 24 hours UPTIME C) SHOW GLOBAL VARIABLES; D) SHOW FULL PROCESSLIST; AND Optional very helpful information, if available includes - htop OR top for most active apps, ulimit -a for a Linux/Unix list of limits, iostat -xm 5 3 for IOPS by device and core/cpu count, for server workload tuning analysis to provide suggestions. Dec 5, 2020 at 15:23

0

You must log in to answer this question.

Browse other questions tagged .