On the weekend of August 28 to 30, 2015 up
here in the Pacific Northwest (in upper
Washington State and Lower British Columbia)
we had a HUGE windstorm and various websites
went down and people were complaining about
one of the big power companies (BC Hydro)
whose website went down and could not service
the 500,000+ website users to get updates on
power restorations and maps of outages.
In fact our biggest telco (TELUS) caused the
BC Hydro website system to completely CRASH
the ENTIRE WEEKEND...they could not handle
the service load.
That got me thinking as to WHY the website crashed
when the rest of Telus and BC Hydro was mostly up?
After a few news reports we found out some BASIC
computer information services flaws were RAMPANT
thorughout the website services system and that
basic, beginners-mistake just FLOORED ME causing
me to shake my head in asking HOW CAN ANYONE
BE THAT STUPID in setting up your website systems ????
The company I work for does all sorts of video technology,
high tech computing/opto-electronics and other more esoteric
UAV/Autonomous Software systems Research and Development.
We are a SMALL COMPANY yet we seem to be able to serve
our customers with flair and aplomb when it comes to
high-end, if secretive, web communications services.
We regularly serve MULTI-STREAMS of Uncompressed
4K Video files that are 100 GIGABYTES to OVER ONE PETABYTE
in size and yet WE don't seem to have the same problem
at the multi-billion dollar TELUS and BC Hydro companies!
We serve WAAAAY MORE DATA PER DAY THAN THEY DO !!!!
Yet we do all right!
---
So as a HELPER for the newbies in web systems services,
here is a primer on what YOU NEED TO KNOW:
You Must KNOW AND CALCULATE your total available
bandwidth in Megabytes or Gigabytes Per Second.
i.e. One Megabyte = 1,000,000 Bytes
i.e. One Gigabyte = 1,000,000,000 Bytes
Then divide MEGS/per sec or GIG/per sec by the number
of Bytes per web page you are serving and then divide
that by your reported PEAK, MEAN and AVERAGE number
of unique users per second or PEAK, MEAN and AVERAGE
unique users per minute during each hour of the day.
To get this number you need to log how many users actually use
or are PREDICTED TO USE your site during each hour of the day!
That final total is how many users you can serve
per second or minute duing each ONE HOUR BLOCK
within a 24 hour day of web site availability!
Example:
These are the available fibre optic
bandwidths you can buy from any major
telco. The total bandwidth Is the
TRUE deliverable payload in Megabytes
Per Second or Gigabytes Per Second you
can expect AFTER any major switcher/router
and servicing overhead is taken into account.
I didn't do megabits or gigabits per second because
to me I need BYTES, MEGABYTES and GIGABYTES
PER SECOND as a real-world unit of data
speed measure for standardization sake.
OC-1 = 6.264 MB/sec
OC-3 = 18.576 MB/Sec
OC-12 = 75.168 MB/sec
OC-24 = 150.276 MB/Sec
OC-48 = 300.672 MB/Sec
OC-192 = 1.1889 GB/sec
OC-768 = 4.8107 GB/sec
So when I do my planning, I ALWAYS MAKE SURE my servers
and my software and TOTAL AVAILABLE BANDWIDTH can
service AT LEAST 500,000 Unique Users Per Minute
so I nned the number of leased lines and servers
that can handle that sort of load.
For REALLY HEAVY-USE WEBSITES for something like
ABC Sports-type of bandwidth needs, I should be
able to service 3,000,000 to 5,000,000 users per minute
(200 kilobytes per web page) with a few OC-768 lines
with 80% text and 20% photos per web page.
If you are serving STREAMING VIDEO you need to calculate
Frames Per Second multiplied by Kilobytes per Frame which
is used for low-latency high quality INTRA-FRAME video
compression used for times when each frame is sent
live without delay (i.e. during a live satellite feed newscast)
or if you can accept a five-second or 10 second delay
(i.e. not a live stream - a streaming movie or advertisment)
then an INTERFRAME compression codec such as H.264
(CODEC = COmpressor/DECompressor)
can be used so then you need to use
the formula of:
Number of Group-of-Frames in One Second
multiplied by Size in Bytes per Group of Frames (GOP)
With those Number of Bytes per second Allowed
Per User per Second or Per Minute, you then compare
if your network cards, your disk arrays, your server
HARDWARE and OS software and your switches/routers
can handle that sort of bandwidth per second or minute
and are MATCHED to the OC-XXX bandwidth level you
want to buy from your telco.
So use this calculation finding out how many
simultaneous users you can have PER SECOND
for text-heavy websites that use 80% text and
20% pictures where each web-page is
200 Kilobytes (200,000 Bytes) in size:
Maximum Possible Simultaneous Users PER SECOND:
To get users per MINUTE multiply each below by 60.
TEXT HEAVY WEBSITES:
------------------------------
OC-1 = 6.264 MB/sec = 31 Users Per Second
OC-3 = 18.576 MB/Sec = 92 Users Per Second
OC-12 = 75.168 MB/sec = 375 Users Per Second
OC-24 = 150.276 MB/Sec = 751 Users Per Second
OC-48 = 300.672 MB/Sec = 1503 Users Per Second
OC-192 = 1.1889 GB/sec = 59,445 Users Per Second
OC-768 = 4.8107 GB/sec = 240,535 Users Per Second
VIDEO STREAMING WEBSITES:
Serving simultaneous viewers of a 10 Minute Video
compressed using H.264 HQ at 960 by 540 pixels
(i.e. Quarter-HD) suitable for laptop, tablet or
smartphone playback: (1800 Kilobits/sec -with stereo audio)
Total bandwidth per user is 225,000 Bytes per second
x 60 seconds x 10 minutes:
--------------------------------
OC-1 = 6.264 MB/sec = 27 Viewer Per 10 Minute Video
OC-3 = 18.576 MB/Sec = 82 Viewers Per 10 Minute Video
OC-12 = 75.168 MB/sec = 334 Viewers Per 10 Minute Video
OC-24 = 150.276 MB/Sec = 667 Viewers Per 10 Minute Video
OC-48 = 300.672 MB/Sec = 1336 Viewers Per 10 Minute Video
OC-192 = 1.1889 GB/sec = 52,840 Viewers Per 10 Minute Video
OC-768 = 4.8107 GB/sec = 213,808 Viewers Per 10 Minute Video
These are the types of number you MUST be aware of.
Good luck on setting up your text-heavy or streaming video website
using your OWN servers or co-locating or using someone else's servers!
I suggest two Windows 2012 Enterprise Servers containing Tyan Thunder
motherboards (using Four AMD Opteron Processors with 16-cores each)
and 1 TERABYTE of RAM Memory and each motherboard has TWO CISCO
40 Gigabit fibre network cards connected to an internal 40 GB firewall
and router combo and then connected out to a leased
fibre-optic telco connection.
Use a 250 Kilobytes per second QOS (Quality-of-Service) bandwidth throttling
setting per user and you are good to go for serving 960x540 pixel video at the
number of viewers per second as described above for the fibre optic
lines allowed to be leased by most major telcos.
Most Windows 2012 Servers the 4-processor 16 core AMD Opteron chips
with one gigabyte or RAM can handle a load of 10,000 Logged in Users
each claiming 250 Kilobytes per second of Bandwidth --- That's a
Windows 2012 Server limitation not a hardware limitation!
P.S. If your Telco and network Hardware manufacturer uses
Kilobits per Second, Megabits per Second or Gigabits per Second
as a measure of bandwidth, then just divide that number by EIGHT
in order to get KiloBytes, MegaBytes or GigaBbytes per Second.
(i.e. there are 8-bits in ONE BYTE)
edit on 2015/8/31 by StargateSG7 because: sp
edit on 2015/8/31 by StargateSG7 because: sp