PDA

View Full Version : Tips: database on seperate dedicated server


Fallback
15 Mar 2006, 17:58
What are some server and vb configuration tips for those of us that have a forum database on its own seperate server?

Erwin
15 Mar 2006, 21:32
Most important tip - use the internal network IP address to connect to the db server rather than the external web IP - this will save you bandwidth since internal network traffic usually is free.

Fallback
15 Mar 2006, 21:37
Ok. I ask this because I think my setup was not done correctly. Pages are taking twice as long to be generated since switching to a setup that has the db on one dedicated box and the php files on the other. It was set up using the hosthame "mydb.myserver.com" instead of "localhost" in the vb config and not using an ip and pages are taking looong to generate and load.

Is this related to what you mention about ip?

Erwin
15 Mar 2006, 23:25
Mmm... instead of hostname, use the internal IP address. Your hostname may be linked to your external IP which may explain the slowness.

alexi
23 Mar 2006, 05:58
Most important tip - use the internal network IP address to connect to the db server rather than the external web IP - this will save you bandwidth since internal network traffic usually is free.

Actually it's much more than the fact it is free. Running that connection on your public address OR on the same NIC card will choke your boards. I know of one case where a lot of time was put into figuring out what was wrong with a particular board and as soon as they switched to a second NIC for the private traffic all their load problems dissapeared.

kerplunknet
23 Mar 2006, 17:05
An internal IP looks like this, generally:

192.168.X.X

Fill in "X" with a number.

I would also recommend using a gigabit switch and gigabit ethernet cards.

bada_bing
23 Mar 2006, 18:07
You will also want to make sure that this is not a hardware issue between the server that your vb site resides on and your database server. For example a switch with a misconfigured port speed or hub between both servers make sure that the connectin between both servers is not bottle-necked or saturated with traffic.

Paul M
23 Mar 2006, 18:14
Yep, if possible have a seperate nic on the web and db server, link them directly, configure a private address on each, and use those addresses.

GrCh_Jeff
23 Mar 2006, 18:52
as they switched to a second NIC for the private traffic all their load problems dissapeared.
what do you mean private traffic?

alexi
23 Mar 2006, 19:09
Private traffic would be the traffic in between the web server or servers and the database server. Public traffic would be your users coming in to the web server.

Fallback
24 Mar 2006, 17:28
Pages are taking twice as long to be generated since switching to a setup that has the db on one dedicated box and the php files on the other. It was set up using the hosthame "mydb.myserver.com" instead of "localhost" in the vb config and not using an ip and pages are taking looong to generate and load.


Ok. Heres an update. The database server and file servers were both linked via a public connection and by hostname/servername. Since an idiot at the server company gave us servers in different rooms and not VLAN or cross connected. This was done despite the fact that linking the servers for a db and fileserver setup was indicated on the same ticket.

On top of that the ports were only 10 mbps ports so the pages were taking LOOONG to generate (from like 2 - 10 FULL SECONDS! ) Once the ports were opened to 100 mbps ports the pages generated in like .4 - .7 seconds. This was better and acceptible compared tot he 10mbps scenario but was still not optimal performance.

From there we got the servers moved to the same rack and cross connected with an additional PCI intel NIC and crossover ips. private ips used for vbulletin db hostname in config. The perfomance is much much better than all the above scenarios and better than when we had the db on the same server as the files. The pages load in .1 -.3 seconds and it is speed imporvement is very noticible and it is working great. Thanks erwin, alexi and others.

libertate
24 Mar 2006, 20:48
Just a follow-up note that none mentioned for benefit of using IP verses name - DNS. If your DB requests are not as fast as your DNS cache timeout on your web server (and your DB connection is not persistent), then each time the Web server's DNS cache expires, it has to resolve it again. Since DNS is a shared facility, even at large hosts, you are adding time to the connection.

The Prohacker
27 Mar 2006, 15:35
Just a follow-up note that none mentioned for benefit of using IP verses name - DNS. If your DB requests are not as fast as your DNS cache timeout on your web server (and your DB connection is not persistent), then each time the Web server's DNS cache expires, it has to resolve it again. Since DNS is a shared facility, even at large hosts, you are adding time to the connection.


We use hostnames for everything internally. We have a common /etc/hosts to save our resolver from needing to pull the information constantly. It's much easier to remember db6 instead of 10.0.0.48 :)