Gabriel, Jimbo, list,
many arguments have been sent to the list. I've got the impression that there's consensus about:
* Having squid+round robin DNS+heartbeat, we won't need linux director for now. * One squid box of > 2GHz CPU and >=2GByte RAM is capable to host significantly more than the current workload of all servers, even when assuming doubling during the next year. * Redundancy is a must. * single host reliability can be "low" if the farm is available, so high end features are not required. * Many similar boxes provide higher flexibility than many different boxes. * backup box for the DB should have same CPU architecture than geoffrin (Well, perhaps no consensus here, but no one contradicted yet). * Current setup is a dual Athlon 1800 running apache and mysql and a second, somewhat slower machine. Overall performance is slow.
Is this canonical?
I'd draw the conclusion that, after taking away anonymous pageviews from the apache's (handing them over to squid) and after reviving geoffrin, the current web servers would be performant enough to handle the current workload. Looking at the trouble we had with pliny's stability, I'd prefer to replace them. I think, this is also common understanding.
The "squid class" servers are at 1810$ at Silicon Mechanics (2,6 GHz P4, 2*1GB Mem, 2*80GB SATA, no CD).
A Opteron box for the DB Backup server would be 2,810$ at penguincomputing.com. (Dual Opteron 240, 4*512MB RAM, 2*80GB ATA, no CD)
6,430$ spent on these.
= Configuration = The question is whether to use 4 of the "squid-class" single CPU servers or two of the "DB Backup class" dual opterons. 4 of the small boxes would cost 7,240$. Two of the big servers would be at 5,620$.
We would apparantly want to have at least one machine on site as hot spare part and for testing. This would be another "web server class" server, resulting in 5 small or 3 big ones, prices 9,050$ or 8,430$. Not much of a difference, so money will not make the decision.
4 small ones sounds more reliable, if the squids work properly.
So that's 15,480$ in total.
Summary: 2*squid, small server 4*web server, small server, 1*hot spare/test, small server, 1*DB backup, Opteron box.
Comments?
Re: nine 2 GHz boxes instead: those are hard to get, and a 2,6GHz CPU isn't that expensive any more, some 200$. It's not Xeon we're talking about.
Best regards,
JeLuF
I think this is an excellent summary!
Jens Frank wrote:
Gabriel, Jimbo, list,
many arguments have been sent to the list. I've got the impression that there's consensus about:
- Having squid+round robin DNS+heartbeat, we won't need linux director for now.
- One squid box of > 2GHz CPU and >=2GByte RAM is capable to host significantly more than the current workload of all servers, even when assuming doubling during the next year.
- Redundancy is a must.
- single host reliability can be "low" if the farm is available, so high end features are not required.
- Many similar boxes provide higher flexibility than many different boxes.
- backup box for the DB should have same CPU architecture than geoffrin (Well, perhaps no consensus here, but no one contradicted yet).
- Current setup is a dual Athlon 1800 running apache and mysql and a second, somewhat slower machine. Overall performance is slow.
Is this canonical?
I'd draw the conclusion that, after taking away anonymous pageviews from the apache's (handing them over to squid) and after reviving geoffrin, the current web servers would be performant enough to handle the current workload. Looking at the trouble we had with pliny's stability, I'd prefer to replace them. I think, this is also common understanding.
The "squid class" servers are at 1810$ at Silicon Mechanics (2,6 GHz P4, 2*1GB Mem, 2*80GB SATA, no CD).
A Opteron box for the DB Backup server would be 2,810$ at penguincomputing.com. (Dual Opteron 240, 4*512MB RAM, 2*80GB ATA, no CD)
6,430$ spent on these.
= Configuration = The question is whether to use 4 of the "squid-class" single CPU servers or two of the "DB Backup class" dual opterons. 4 of the small boxes would cost 7,240$. Two of the big servers would be at 5,620$.
We would apparantly want to have at least one machine on site as hot spare part and for testing. This would be another "web server class" server, resulting in 5 small or 3 big ones, prices 9,050$ or 8,430$. Not much of a difference, so money will not make the decision.
4 small ones sounds more reliable, if the squids work properly.
So that's 15,480$ in total.
Summary: 2*squid, small server 4*web server, small server, 1*hot spare/test, small server, 1*DB backup, Opteron box.
Comments?
Re: nine 2 GHz boxes instead: those are hard to get, and a 2,6GHz CPU isn't that expensive any more, some 200$. It's not Xeon we're talking about.
Best regards,
JeLuF _______________________________________________ Wikitech-l mailing list Wikitech-l@Wikipedia.org http://mail.wikipedia.org/mailman/listinfo/wikitech-l
On Fri, 09 Jan 2004 04:59:46 +0100, Jens Frank wrote:
- single host reliability can be "low" if the farm is available, so high end features are not required.
+5 ;-)
An interesting links on Google's hardware strategy: http://www.pcworld.com/resource/printable/article/0,aid,112891,00.asp
A quote: Google's infrastructure: Google uses consumer-level hard disks and 'really cheap, unreliable memory.' ('If something fails, it's not you, it's probably the memory.') They have around 10,000 commodity-level Linux computers set up in a parallel network ('the largest Linux cluster in the world'), and anticipate the death of 'a few machines every day.' Their network is set up to be able to route around a failed machine instantly.
- Many similar boxes provide higher flexibility than many different boxes.
To me this doesn't make that much sense- why spend a fair amount of extra money on the idea of having flexibility with machines capable of doing other tasks? If we save some money now by buying cheap yet more powerful (more of them) Apaches we're extremely flexible to spend the remaining money on whatever becomes necessary. And which major changes are anticipated?
= Configuration = The question is whether to use 4 of the "squid-class" single CPU servers or two of the "DB Backup class" dual opterons. 4 of the small boxes would cost 7,240$. Two of the big servers would be at 5,620$.
Both options are are a misfit for the Apaches.
* they have practically no disk access- no logging, no swapping, no data stored on the Apaches. Only disk access on boot and when scaling images. Hence no raid, smallest/cheapest hd available. * 'Low' reliability is ok, many machines
So time for some numbers.
== Apache == If we really wanted to go for as-much-performance-for-the-money-as-we-can-get and there was space for regular tower pcs in the colo: Dell PowerEdge 600SC Intel® Pentium®4 Processor at 2.4GHz 512MB DDR, SDRAM 2x256 40GB 7.2K RPM IDE Hard Drive $797,-
otherwise rackmount 1U: Dell PowerEdge 650 Intel Pentium 4, 2.4GHz, 512K, 533MHz, with Floppy /CDROM 1.0GB DDR,266MHZ,2X512MB DIMM Price:$1,098.00
So it depends: 6 * PowerEdge 600SC = $4,782.00 (tower) 6 * PowerEdge 650 = $6,588.00 (rack 1U)
== Squids ==
Dell's pricing for 4Gigs ram is pretty bad: PowerEdge 1750 Intel Xeon 2.4GHz w/512K Cache 4GB DDR,266MHz,4X1GB DIMMS On-Board RAID 1, PERC4-DI, 128MB Battery Backed Cache, 1 Int 1 ext Ch-Embedded Raid 2 x 36GB,10K RPM, 1in (Ultra 320) SCSI Hot Plug Hard Drive Price: $3,516.00
Better, but only 3 Gigs: PowerEdge 650, Intel Pentium 4, 2.4GHz, 3.0GB DDR,266MHZ,3X1GB DIMM 2x 80Gb IDE RAID1 $2,885.00
The xeon isn't necessary, but 4 gigs on smaller cpus works out at the same price at dell. So no business for dell here ;-)
I'm unshure about the opteron (Dell only lists Intel- a dual Xeon 2.4Ghz with 4Gigs and 2x 73GB 10K RPM Ultra 320 SCSI RAID1 would cost $4,545.00).
So, cheap version (towers for Apaches), 6 instead of 4 P4s:
6 Apaches P4, 512Mb- 4,782$ 1 Dual Xeon DB 4Gb - 4,545$ 2 Squids P4, 3Gb - 5,770$ ----------------------------- 15097$ -1000$ disc. 14097$
all rackmount:
6 Apaches P4, 1Gb - 6,588$ (Dell) else same as above ------------------------------ 16,903$ -400$ disc. 16,503$
This doen't include Fileservers, it should be possible to use the DB machines for this (or the old machines, if we don't want to use them as spares).
Note that both options would buy significantly more power than Jens' proposal.
2 Gigs for the Squids is something i'd really like to avoid, 3 Gigs might be a compromise. The 4 Gig machines seem to be very expensive. I'm not shure if it makes sense to use a dual Xeon for the DB- i'm no expert there. The server has 6 ram slots, with four taken in this config. Maximum ram possible is 12Gb.
On Jan 9, 2004, at 7:57 AM, Gabriel Wicke wrote:
A quote: Google's infrastructure: Google uses consumer-level hard disks and 'really cheap, unreliable memory.' ('If something fails, it's not you, it's probably the memory.') They have around 10,000 commodity-level Linux computers set up in a parallel network ('the largest Linux cluster in the world'), and anticipate the death of 'a few machines every day.' Their network is set up to be able to route around a failed machine instantly.
Google also has a much larger hardware budget than we do, and a small army of PhD developers working on their code. ;)
... much pricing data follows ...
Do these Dell prices include support? Ideally, it would be nice not to have to worry about people having to drive all over the place to fix a small hardware error. That's the biggest reason (IMO) for buying a Dell machine - if we're were not going to take advantage of their support contracts, then we would probably be better off buying cheaper, faster machines elsewhere.
-- Nick Reinking -- eschewing obfuscation since 1981 -- Minneapolis, MN
On Fri, 09 Jan 2004 08:48:52 -0600, Nick Reinking wrote:
On Jan 9, 2004, at 7:57 AM, Gabriel Wicke wrote:
A quote: Google's infrastructure: Google uses consumer-level hard disks and 'really cheap, unreliable memory.' ('If something fails, it's not you, it's probably the memory.') They have around 10,000 commodity-level Linux computers set up in a parallel network ('the largest Linux cluster in the world'), and anticipate the death of 'a few machines every day.' Their network is set up to be able to route around a failed machine instantly.
Google also has a much larger hardware budget than we do, and a small army of PhD developers working on their code. ;)
... much pricing data follows ...
Do these Dell prices include support? Ideally, it would be nice not to have to worry about people having to drive all over the place to fix a small hardware error. That's the biggest reason (IMO) for buying a Dell machine - if we're were not going to take advantage of their support contracts, then we would probably be better off buying cheaper, faster machines elsewhere.
Hm- yes. They include Support:
* DB server: 3Yr BRONZE Support, Next Business Day Onsite, S/W Support * others: 1Yr Parts + Onsite Labor (Next Business Day) + 1Yr Technical Support
We can save 300$ on the DB if we go for '3Yr BRONZE Support, Next Business Day Onsite'. The others don't seem to have smaller Support packages. Maybe in the consumer/desktop department? I've only looked in 'small business- servers'.
The only reason for picking Dell is my lack of knowledge about cheaper american companies. I know where i'd look for it in germany, and i personally consider Dell to be in the medium/upper price bracket. If you know a cheaper source with reasonable reputation let us know.
On Fri, 09 Jan 2004 08:48:52 -0600, Nick Reinking wrote:
Google also has a much larger hardware budget than we do, and a small army of PhD developers working on their code. ;)
The point is- Google would need at least double their current budget if they went for high-end hardware with the same performance.
From http://interviews.slashdot.org/article.pl?sid=02/07/03/1352239:
Almost all the technology we use to support our server farm is home-grown. The system we've built is so efficient we can maintain more than 10,000 computers with a handful of ops folks. Of course, we benefit a lot from our massive redundancy: Unlike many companies, we don't need to worry immediately if a computer, or two, or a hundred, die, because the dead computers have lots of clones. --
About work: We set up redundancy and completely automatic failover anyway, there's nothing else to develop. The only additional work is copying the hd images over to new boxes and configuring ip/hostname (if not done with dhcp). We should have a development box (could use Apache number six for the beginning) that serves as the template. A small rsync script and we should be ready to update all boxes at once, there would be little difference if there are 4 Apaches, 6 or 12.
Gabriel Wicke wrote:
otherwise rackmount 1U: Dell PowerEdge 650 Intel Pentium 4, 2.4GHz, 512K, 533MHz, with Floppy /CDROM 1.0GB DDR,266MHZ,2X512MB DIMM Price:$1,098.00
(I was unable to replicate your price. I get $1498 for this configuration, or $1298 for a Celeron 2.0.)
Very interesting. Earlier I said rack space is not an issue, but we are constrained to rackmount servers.
Replicating as close I can the configuration you have above, I find:
Silicon Mechanics - $1179 P4 2.6, $1038 Celeron 2.4 - non-ECC ram Penguin Computing - $1211 P4 2.66, $1102 Celeron 2.7 - ECC ram
(Penguin doesn't have the slower processors.)
Lots and lots of ram is usually good for webserving, though? (Although I guess it's much more important for the squids?)
--Jimbo
On Fri, 09 Jan 2004 07:39:19 -0800, Jimmy Wales wrote:
(I was unable to replicate your price. I get $1498 for this configuration, or $1298 for a Celeron 2.0.)
Did you untick the Windows license? One of the servers had it selected by default. It's right here in my 'shopping basket', so i'm shure it's no error.
Very interesting. Earlier I said rack space is not an issue, but we are constrained to rackmount servers.
Ok. The price difference isn't that big- the rackmount ones have 1Gig ram.
Replicating as close I can the configuration you have above, I find:
Silicon Mechanics - $1179 P4 2.6, $1038 Celeron 2.4 - non-ECC ram Penguin Computing - $1211 P4 2.66, $1102 Celeron 2.7 - ECC ram
Afaik the Dells all have ECC ram. A P4 should be significantly faster than a Celeron at the same rate. They all seem to be more expensive than Dell. There have to be some cheaper companies than Dell in the US- otherwise there would be a decent business opportunity ;-)
(Penguin doesn't have the slower processors.)
Lots and lots of ram is usually good for webserving, though? (Although I guess it's much more important for the squids?)
The Apaches get their data from the database and from the fileserver (might be the same machine). They don't serve anything from their local disk (where a lot of ram would help as disk buffer- more than half of larousse's ram is used for it). All they do is burning cpu cycles on templates.
Database connection result caching (if there is any in php by default) will be part of Apaches's memory footprint which is 900 Megs at the moment for dual CPU. So with 1 Gig ram there should be roughly 400 Megs of free memory.
On Fri, Jan 09, 2004 at 07:39:19AM -0800, Jimmy Wales wrote:
Gabriel Wicke wrote:
otherwise rackmount 1U: Dell PowerEdge 650 Intel Pentium 4, 2.4GHz, 512K, 533MHz, with Floppy /CDROM 1.0GB DDR,266MHZ,2X512MB DIMM Price:$1,098.00
(I was unable to replicate your price. I get $1498 for this configuration, or $1298 for a Celeron 2.0.)
Very interesting. Earlier I said rack space is not an issue, but we are constrained to rackmount servers.
Replicating as close I can the configuration you have above, I find:
Silicon Mechanics - $1179 P4 2.6, $1038 Celeron 2.4 - non-ECC ram Penguin Computing - $1211 P4 2.66, $1102 Celeron 2.7 - ECC ram
(Penguin doesn't have the slower processors.)
Lots and lots of ram is usually good for webserving, though? (Although I guess it's much more important for the squids?)
Dell does not include Rails by default. SM and PC do. You've to add that to the Dell price listed above. 179$ for Dell boxes.
The comparable SM box (SM-1151A, 2,6GHz P4, 2*512MB RAM, Seagate 40GB, no CD, Rack mount kit, 3yr warranty) is at $1104 http://www.siliconmechanics.com/i1158/p4-server.php
JeLuF
On Fri, 09 Jan 2004 18:06:20 +0100, Jens Frank wrote:
Dell does not include Rails by default. SM and PC do. You've to add that to the Dell price listed above. 179$ for Dell boxes.
The comparable SM box (SM-1151A, 2,6GHz P4, 2*512MB RAM, Seagate 40GB, no CD, Rack mount kit, 3yr warranty) is at $1104 http://www.siliconmechanics.com/i1158/p4-server.php
That's non-ECC ram though and no cdrom. The rail costs 49$ at siliconmechanics. Newbie question: Is the rail like a drawer so that you can pull the server out of the rack? I've never physically seen my servers up to now...
Gabriel Wicke wrote:
That's non-ECC ram though and no cdrom. The rail costs 49$ at siliconmechanics. Newbie question: Is the rail like a drawer so that you can pull the server out of the rack? I've never physically seen my servers up to now...
Some are like that. But the cheap ones are just 'mounting hardware'. I think Dell comes without mounting hardware of any kind, which is very bad obviously. Something has to be done.
Penguin offers a variety of mounting hardware options. Sliding rails are nice, but usually a bit pricey considering how rarely servers need to be taken out of the racks, and how relatively easy it is to do it anyway.
I do think that will be buying a kvm/lcd/keyboard thingy for the colo, though. Those can be very very handy.
--Jimbo
On Fri, Jan 09, 2004 at 06:24:20PM +0100, Gabriel Wicke wrote:
On Fri, 09 Jan 2004 18:06:20 +0100, Jens Frank wrote:
Dell does not include Rails by default. SM and PC do. You've to add that to the Dell price listed above. 179$ for Dell boxes.
The comparable SM box (SM-1151A, 2,6GHz P4, 2*512MB RAM, Seagate 40GB, no CD, Rack mount kit, 3yr warranty) is at $1104 http://www.siliconmechanics.com/i1158/p4-server.php
That's non-ECC ram though and no cdrom.
What do you need a CDROM for if you've got a NIC? And wasn't it you who said we won't need redundancy? Then why ECC?
The rail costs 49$ at siliconmechanics.
The config tool states that "2 Piece Ball Bearing Rail Kit" is included. You can buy differrent rail kits from them for 49$, but the default one will do the job.
Newbie question: Is the rail like a drawer so that you can pull the server out of the rack? I've never physically seen my servers up to now...
Look at http://www.siliconmechanics.com/image_cache/item.1517.main.160x75.q60.o0.jpg One of them is mounted to each side of your server.
Regards,
JeLuF
On Sat, 10 Jan 2004 01:22:25 +0100, Jens Frank wrote:
What do you need a CDROM for if you've got a NIC? And wasn't it you who said we won't need redundancy? Then why ECC?
Don't know, somebody said it was better, and the price seemed to be the same. I didn't know the rails were necessary- sorry.
The config tool states that "2 Piece Ball Bearing Rail Kit" is included. You can buy differrent rail kits from them for 49$, but the default one will do the job.
Yes, i was just thinking about using the siliconmechanics kit on a Dell server (i wonder how dell makes up such a ridiculous price...).
Guess we'll play with the silicons soon- hehe.
I like your proposal to start off with the squids. We should start to prepare the purge script asap, then there's very little work left. I'm not familiar with the mediawiki code- could you help me out? We should discuss how the list of Squids should be maintained (textfile, one line per ip i guess), then we can start to hack out the script and integrate it into the save routines. Tomorrow or later- too tired now...
Nice dreams ;-)
On Sat, Jan 10, 2004 at 02:05:05AM +0100, Gabriel Wicke wrote:
On Sat, 10 Jan 2004 01:22:25 +0100, Jens Frank wrote:
I like your proposal to start off with the squids.
Mine? wasn't it you proposing squid while everyone else said "loadbalancer"?
We should start to prepare the purge script asap, then there's very little work left. I'm not familiar with the mediawiki code- could you help me out?
Several places would need a purge. I spot at least those two: * Article changes * Image uploads
We should discuss how the list of Squids should be maintained (textfile, one line per ip i guess),
LocalSettings.php would be the place where I would put it. No need to parse a file. Make a thread for each purge and another thread doing a sleep() and killing any purge that didn't return.
then we can start to hack out the script and integrate it into the save routines. Tomorrow or later- too tired now...
Nice dreams ;-)
Same to you :-)
JeLuF
Jens Frank wrote:
That's non-ECC ram though and no cdrom.
What do you need a CDROM for if you've got a NIC?
I think he just meant that the price comparison wasn't 100% fair, which is correct.
I'm planning to not buy CDROMs for the bulk of machines, because they cost $68 each (varies with vendor, of course), and they aren't much use in our kind of application. It's convenient for reinstalling the os from scratch, but if I'm doing that, I've already had a hardware failure or something, presumably.
On the other hand, a floppy is still useful as a quick way to boot an otherwise totally dead machine. And they cost very little.
--Jimbo
If you have one nic you can use PXE to boot and reinstall everything. You just need to add bootserver service to one of the box.
Jimmy Wales wrote:
Jens Frank wrote:
That's non-ECC ram though and no cdrom.
What do you need a CDROM for if you've got a NIC?
I think he just meant that the price comparison wasn't 100% fair, which is correct.
I'm planning to not buy CDROMs for the bulk of machines, because they cost $68 each (varies with vendor, of course), and they aren't much use in our kind of application. It's convenient for reinstalling the os from scratch, but if I'm doing that, I've already had a hardware failure or something, presumably.
On the other hand, a floppy is still useful as a quick way to boot an otherwise totally dead machine. And they cost very little.
--Jimbo _______________________________________________ Wikitech-l mailing list Wikitech-l@Wikipedia.org http://mail.wikipedia.org/mailman/listinfo/wikitech-l
Arnaud G wikipedia@amarys.com writes:
If you have one nic you can use PXE to boot and reinstall everything. You just need to add bootserver service to one of the box.
Yes, don't buy floppy drives. If you really think you need one, recycle one - poeple throw those devices away daily.
I'm planning to not buy CDROMs for the bulk of machines, because they cost $68 each (varies with vendor, of course), and --Jimbo
$68 for a CDROM????? IDE (ATAPI) or SCSI? In Greece we pay 30 Euro for DVDROMs and less than 20 Euro for IDE (ATAPI) CDROMs. Second-hand CDROMs cost no more than 10 Euro (I recently sold a dozen of them at that price)
AFAIK Linux can be installed from FTP or NFS (I have never tried that). So even if you like to reinstall the OS, the CDROM is not absolutely needed if you have network connectivity and another server which will serve the Linux installation files.
If the machines can boot from a USB flash disk, you may consider it as an alternative to the floppy; although the floppy is superb when you don't have to use it very often.
with Best Wishes for Peace Profound, --Optim
__________________________________ Do you Yahoo!? Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes http://hotjobs.sweepstakes.yahoo.com/signingbonus
On Sat, Jan 10, 2004 at 05:10:00AM -0800, Nikos-Optim wrote:
I'm planning to not buy CDROMs for the bulk of machines, because they cost $68 each (varies with vendor, of course), and --Jimbo
$68 for a CDROM????? IDE (ATAPI) or SCSI? In Greece we pay 30 Euro for DVDROMs and less than 20 Euro for IDE (ATAPI) CDROMs. Second-hand CDROMs cost no more than 10 Euro (I recently sold a dozen of them at that price)
Slim line? You don't have much place in a rack mountable "pizzabox" computer. Putting in a full sized CDROM wouldn't fit or would cause problems with cooling.
Regards,
JeLuF
Nikos-Optim wrote:
$68 for a CDROM????? IDE (ATAPI) or SCSI? In Greece we pay 30 Euro for DVDROMs and less than 20 Euro for IDE (ATAPI) CDROMs. Second-hand CDROMs cost no more than 10 Euro (I recently sold a dozen of them at that price)
Yes, I'm absolutely certain that cheaper ones are available. I could do all of this a lot more cheaply, of course, if I ordered all the parts and built the machines myself. But in the interests of time and professionalism, I intend to just buy stock boxes from a reputable manufacturer.
--Jimbo
Gabriel Wicke wrote:
A quote: Google's infrastructure: Google uses consumer-level hard disks and 'really cheap, unreliable memory.' ('If something fails, it's not you, it's probably the memory.') They have around 10,000 commodity-level Linux computers set up in a parallel network ('the largest Linux cluster in the world'), and anticipate the death of 'a few machines every day.'
They better do, because even highly reliable machines have a Lifetime << 10,000 days (~27 years!).
Rob
So, MediaWiki has internal code to differentiate read and write database requests.
I'm not sufficiently familiar with mySQL replication to recommend or anti-recommend it. But if it works as advertised, it seems like a good configuration would be to have one master database server that takes all write requests, and one slave database server per Web server for read requests.
The slave DB server instances could live on the same machine as the Web server, or on different machines. There's some metering to be done to determine if the bandwidth advantages of having a DB server on the same machine outweigh the disadvantages of sharing memory and CPU resources.
In other words, the configuration would look something like this (leaving out the Web load-balancing stuff):
+--------+ +--------+ +--------+ | Web 1 | | Web 2 | | Web 3 | +--------+ +--------+ +--------+ | | | | | | +--------------+ | +-------------+---------------+-----------| DB Master | | | | +--------------+ +--------+ +--------+ +---------+ | DB 1 | | DB 2 | | DB 3 | +--------+ +--------+ +---------+
This would obviously put a lot of load on the DB master; it might be preferable to have different master DB servers for the different language versions and projects. Not doing _any_ read requests on the master DB server should also reduce load on it.
At the same time, it's probably worth recognizing that we have about a 5:1 -- 10:1 ratio of views to edits. Edits aren't the only writes to the DB, but it might be a good rough metric... The master may end up being _underloaded_.
It might also be possible to share slave DB servers between Web servers -- say, 2 or 3 Web servers using one slave DB server.
~ESP
-- Evan Prodromou evan@wikitravel.org Wikitravel - http://www.wikitravel.org/ The free, complete, up-to-date and reliable world-wide travel guide
On Fri, Jan 09, 2004 at 10:17:33AM -0500, Evan Prodromou wrote:
So, MediaWiki has internal code to differentiate read and write database requests.
Yes, it is well prepared for this. It would require some changes, but for my test setup I didn't have to change more than about 30 lines and most changes were minor.
I'm not sufficiently familiar with mySQL replication to recommend or anti-recommend it. But if it works as advertised, it seems like a good configuration would be to have one master database server that takes all write requests, and one slave database server per Web server for read requests.
I would consider this "step II". According to the numbers I've seen from geoffrin, it wasn't heavily loaded, neither CPU nor I/O were high. So if it is back soon (tomorrow I've heard), the DB will not be the bottleneck for at least the next 4-6 months.
I would be conservative in this respect. First, introduce the squids. This should solve the most pressing issues. Adding more and especially more stable apaches will help, too. A distributed DB would be the thing to do if DB performance starts being an issue.
Regards,
JeLuF
wikitech-l@lists.wikimedia.org