PDA

View Full Version : Multiple server Nic cards-public and private



BSD
30th August, 2006, 01:01
How do I build this?

I have seen a lot of questions on this subject and I happend to have some graphs handy so I thought I would put up a post that should help all "big" boards understand this a little better.
In a multi server setup the web server needs to talk to 2 different places. The internet so users can come and get their data and the database server to get the information they are requesting. This diagram shows that relationship:
http://www.wdwinfo.com/alexmeetpics/webservernics.jpg

The web server should have 2 seperate NIC cards, one facing the internet and 1 facing the database server. Even if your traffic is not that high trying to do this over 1 nic card is not a good idea because database requests will have to wait for the web requests.
The database server NIC will handle far more traffic than the public NIC. Let's look at some graphs. This graph shows 24 hours on my web server. That would be about 300 users at the low and 2200 simoultaneous users at peak

http://www.wdwinfo.com/alexmeetpics/eth0.jpg

The blue line represents the amount of data going out to the users, the green line represents the data coming in. Notice that there is far more going out as the web server serves up the pages. The "95th percentile" a measure of how much bandwidth you use is 4.97 mbits or megabits per second so out to the users a 10 based connection would be more than enough.

Here is the same graph between the webserver and the database server:

http://www.wdwinfo.com/alexmeetpics/eth1.jpg

In this case the blue line, way at the bottom represents the data from the web server to the database server. The green lines are the database server returning data to the web server. Notice how much more data goes over this connection than actually goes out to the users. That is one of the reasons it is so important to have it on a seperate nic card. Also note that the 95th percentile is 38.8 mbit so you would not be able to run a 10 based nic card you need a 100 based to not create a bottleneck. It is not neccesary to run a gigabit card although you would still see some improvement from that as it would let stuff get "off the wire" quicker at peak load.

Hope this helps!

BSD
30th August, 2006, 13:33
This is the network it have to be build on, see the image for details

rads78
11th September, 2006, 18:30
Uhm..... thats an interesting setup BSD. So your webserver face the internet directly?? Why dont you add another box as router / firewall as in the setup below

Router / firewall (2 NIC, 1 Public IP and 1 local IP)
Webserver (Single NIC / Local IP)
Database (Single NIC / Local IP)

The router / firewall can be a normal PC thats roughly about 4 years old as long as its stable in hardware even though hardware firewall is recommendable but expensive to buy :) :). The internet traffic (port 80) can just be routed through firewall to webserver (Port 80) and you can block any other undesireable traffic through your firewall.

Anyway thanks for taking care the website and for the time being used to managed it.

Have a nice day
Rads78

BSD
11th September, 2006, 22:24
Uhm..... thats an interesting setup BSD. So your webserver face the internet directly?? Why dont you add another box as router / firewall as in the setup below

Router / firewall (2 NIC, 1 Public IP and 1 local IP)
Webserver (Single NIC / Local IP)
Database (Single NIC / Local IP)

The router / firewall can be a normal PC thats roughly about 4 years old as long as its stable in hardware even though hardware firewall is recommendable but expensive to buy :) :). The internet traffic (port 80) can just be routed through firewall to webserver (Port 80) and you can block any other undesireable traffic through your firewall.

Anyway thanks for taking care the website and for the time being used to managed it.

Have a nice day
Rads78
simpel :) there is a firewall on the server itself :) but there will come a firewall later as I got the time and money

BSD
12th November, 2006, 10:36
problem solved