Technical thread for Server Discussion (merged)

OK, my credentials mostly run to PHP and mySQL coding, but I'll chime in here to agree that the two-boxes approach is most definitely the way to go. It's also relatively easy to do: one box is already available, the current server. Unless the current server is in desperate need of repair, I'd suggest leaving Apache/PHP running on that box, and using the new box for the mySQL data-serving only. If the new box is piping data ~3 times as fast as the old one, then the CPU load on each ought to be about equal (if mySQL is taking 75-80% of the server time on the current box). The only downside to the two-box approach is the data transfer overhead between the two boxes.
 

log in or register to remove this ad

LazarusLong42 said:
OK, my credentials mostly run to PHP and mySQL coding, but I'll chime in here to agree that the two-boxes approach is most definitely the way to go. It's also relatively easy to do: one box is already available, the current server. Unless the current server is in desperate need of repair, I'd suggest leaving Apache/PHP running on that box, and using the new box for the mySQL data-serving only. If the new box is piping data ~3 times as fast as the old one, then the CPU load on each ought to be about equal (if mySQL is taking 75-80% of the server time on the current box). The only downside to the two-box approach is the data transfer overhead between the two boxes.

Hmm. That is not a good idea. In vBulletin you can set a debug parameter in the admin panel. Append &explain=1 to the URL to see info about how long this particular page took to load.

Here are some stas from forum.sweclockers.com

forumdisplay.php
Page generated in 0.147233963013 seconds with 20 queries,
spending 0.00681686401367 doing MySQL queries and 0.140417098999 doing PHP things.

index.php
Page generated in 0.0895259380341 seconds with 19 queries,
spending 0.0127546787262 doing MySQL queries and 0.0767712593079 doing PHP things.

showthread.php
Page generated in 0.390783071518 seconds with 23 queries,
spending 0.0175514221191 doing MySQL queries and 0.373231649399 doing PHP things.

PHP is the bottleneck, not MySQL. And the current server is _slow_ IIRC it's a P4 Willamette (not even a northwood) with IDE-drives.

My advice: Use only one server for now, a powerful one with dual CPUs. It will certainly handle up to 50000 forum members (my forum choked at 45000 members, but that was a dual 2.4 GHz Xeon which is slower than most operons).
 

It now looks like we'll easily reach our set goal for buying 2 new machines, so this one isn't likely to be in use at all (if it does get used it will be for images only).
 

Psionicist: Those are interesting stats... I wonder then, why mySQL is taking up 75% of the CPU time on this box. :)

As Michael says, though, if they can buy two new boxes, the point is moot.
 

Michael,
Has there been any discussion on using the old server to do development, kernel rebuilds, MySQL executable compiles, etc? I don't know how often you guys need to do those things, so there might not be any value to it. Though, maybe there would.
 

As a note on a box I run, it goes full throttle anytime there's a page request. The rest of the time it sits idle. The gist is, Linux will devote as much processor as a process needs, barring other demands for attention. So it's very easy for a process to show a high utilization rate initially. Once those hits keep coming in steady streams, things would start balancing out.

I agree that you should go SCSI RAID if you can. You could still do well with ATA/SATA, but make sure you do some kind of hardware based RAID and not OS mirroring.

Double check your use of PHP. I could have sworn they had a precompiling cache thingy called ZEND built in. I've been working with ASP.net lately, so I might be a bit stale.

Also, the latest MySQL (v5) is coming out with some SQL caching stuff that could speed up some common queries.

Use CHAR instead of VARCHAR if you can, that got a lot of speed back in one of our apps.

Stick with Linux. PHP and MySQL are best in that environment. We actually just switched one of our servers from Windows to linux (same PHP and MySQL) and got some more performance back.

If you do 2 servers, 1 DB and 1 web server, run a dedicated private network between the 2. A 1Gb cross-over wire might be sufficient. By having the two communicate over the private network, you'll relieve the bottleneck of web server to DB. Naturally, you'd have the biggest channel for the 2 if they were on the same server. But if both processes are vying for CPU, then splitting them up but giving them as big a pipe as you can will help things.


Janx
 

As I recall, they are currently recommending that Vbulletin users do not upgrade to MySQL 5 yet. But with a new processor and an optimized Linux kernel implementing Hyperthreading, they might be able to squeeze a little more performance out of the box as well.
 

BardStephenFox said:
As I recall, they are currently recommending that Vbulletin users do not upgrade to MySQL 5 yet. But with a new processor and an optimized Linux kernel implementing Hyperthreading, they might be able to squeeze a little more performance out of the box as well.

It's PHP 5 that vbulletin users have been advised not to upgrade to yet, not MySQL 5. I don't even think the latter is out of beta though, so that's sorta moot.
 

Michael Morris said:
Yes, that is true - but most dual processor boxes cost almost as much as two seperate boxes. If you're willing to spend the $4000 on a dual processor box you might as well spend $4200 on two machines.

Where are you getting figures like that from? I'm not seeing a huge increase in price to go from 1 proc to 2 even on branded servers. A built server (and correct me if I'm wrong, but from the sounds of it Adlon will be making white-boxen) can have even less of a percentage difference in overall pric to go with a dual set. Am I just shopping in the right places?
 

Michael Morris said:
It now looks like we'll easily reach our set goal for buying 2 new machines, so this one isn't likely to be in use at all (if it does get used it will be for images only).

Nope! We've reached our goal to refurbish the existing server and use it in conjunction with a brand new machine. It's unlikely that we'll be buying two brand new machines unless we get a truly astounding quantity of donations. :)

Sorry for any confusion on that, Michael.
 

Remove ads

Top