Groups | Blog | Home
all groups > macromedia flash flashcom > march 2006 >

macromedia flash flashcom : How to properly spec out a server?


Brian Sousa
3/15/2006 12:00:00 AM
I've not been able to come across much information on how to properly spec out
an FMS 2 system. We currently have the current specs of:

Intel Pentium-D (Dual core) 2.8ghz
2GB DDR2 RAM
RAID 1 160GB Disks 7200RPM

OS - RH Enterprise Server 4

What we have running on this box at present:

MySQL 4
Apache 2.0.52
Sendmail
Spamassassin
ClamAV
pHp 4
FMS 2.0 (most recent dev version)

I notice in the FMS 2 documentation that they recommend using a two-server
configuration, one being the origin server containing the application, and at
least one other edge server to handle theclient request. Essentially,none of
our clients will be coming from the same location, as they are anonymous (at
least to one another) from all over the internet.

We will run a video chat application, that will be either one-way(one person
broacasts, while the other simply types or uses a mic, or two-way where both
parties broadcast video to one another as well as type and use their mics as
well. We expect to have from 50-200 connections at any given time, using a
camera size of
320x240. I found a document on the Macromedia site stating that:

320x240, 15fps, 60kfi, 144,000 bytes/sec, 85quality, 22sr = 1,196 kbps

Under these live encoding params, will a single stream really consume 1.2mbps
of bandwidth? I'm hoping that the compression has improved with version 2, as I
believe that this is old information from the previous version of FCS. The two
users in a chat session don't need to have their own video broadcast back to
them via the FMS server (I'm assuming) because they should be able to display
it locally...is this correct? So for two people to chat, they will consume
only 4 times the amount stated above, right?

So my big question is: Is our box powerful enough to do the above? Would it be
worth purchasing another server solely to run the FMS server? If so, how can we
set the original server up to act as an edge server, and how will that affect
licensing? We only need 300 connections at most, so 2x professional license.

Many thanks for any help that can be given.
JayCharles
3/15/2006 12:00:00 AM
For the application and user capacity you've described, I see no reason why
you couldn't run this on the same box as your http server. Handling 400 streams
(200 publishing and 200 subscribing) is well within the reasonable operating
tolerances for a single server. If you're running FMS on the same box as your
http server, you'll want a dedicated IP for FMS so it can bind to port 80.

That being said, having a second box dedicated to FMS is always a good idea if
the budget allows for it. Along with the benifit of spreading out the load, you
also gain failover possibilites.

Your bandwidth calculations look right, but you can get away with a lower
bitrate without sacrificing too much quality. A 200-300kbps stream seems more
reasonable for conferences of 2-4 users, and under 100kbps for more users.
Along with server bandwidth, user bandwidth has to be considered.

Video encoding has not changed. Video is encoded with Sorenson Spark, and
audio is encoded with a Nellymoser codec. I've read on the Chattyfig list that
VP6 encoding is something that is being worked on, but as things are now
encoding is the same as FCS 1.5

Yes, your users will be able to preview their own camera locally, and you
don't need to bounce their stream off the server. If two people chat, you'll
have 4 streams... two publishing and two subscribing. If you have 4 people
chat, you'll have 16 streams (4 publishing and 12 subscribing).
JayCharles
3/16/2006 12:00:00 AM
Port 1935 is the default for RTMP communication (rtmp is the protocol for FMS
data). If a user is unable to connect on port 1935, perhaps becuase of
restrictive firewall or proxy settings, the Flashplayer will attempt to make an
RTMPT connection to FMS on port 80. RTMPT differs from RTMP in that the data
packets are "disguised" as http packets. This tends to get around most of the
connectivity issues your users will face.

If you have another device (such as an http server) that binds to port 80 on
the same IP as your FMS, you won't be able to take advantage of the RTMPT
feature.
Brian Sousa
3/16/2006 3:55:16 AM
Excellent answers Jay,

Thank you very much. So you don't think the server is overloaded then? This
box can only take 2GB of RAM max, so that somewhat concerns me. Anyway, how
much RAM do you think each connection will consume?

Adding the second IP address is easily enough accomplished, but is there a
reason why I'd want the FMS server to bid to port 80? I thought it was port
1935 that it needed to bind to. I'm pretty new to FMS, so I'd be extremely
grateful if you could explain a little more about this for me.
Brian Sousa
3/16/2006 11:18:51 PM
Thanks again Jay,

So are there any security issues with binding the server on port 80? Also, do you know how much RAM each one of these connections will require?

JayCharles
3/18/2006 12:27:51 AM
There are no security issues to worry about with port 80 as opposed to other
ports.

As far as ram, the connection itself uses very little. When you get into
syncronizing a lot of data amongst your clients or making remoting/XML scoket
conections you'll need to do some thinking about memory.
Brian Sousa
3/22/2006 2:22:15 AM
AddThis Social Bookmark Button