Thread: Help specifying new web server/database machine
I'm tasked with specifying a new machine to run a web application prototype. The machine will be serving web pages with a Postgresql backend; we will be making extensive use of plpgsql functions. No database tables are likely to go over a million rows during the prototype period. We are considering two RAID1 system disks, and two RAID1 data disks. We've avoided buying Xeons. The machine we are looking at looks like this: Rackmount Chassis - 500W PSU / 4 x SATA Disk Drive Bays S2882-D - Dual Opteron / AMD 8111 Chipset / 5 x PCI Slots 2x - (Dual) AMD Opteron 246 Processors (2.0GHz) - 1MB L2 Cache/core (single core) 2GB (2x 1024MB) DDR-400 (PC3200) ECC Registered SDRAM (single rank) 4 Port AMCC/3Ware 9500-4LP PCI SATA RAID Controller 80GB SATA-150 7200RPM Hard Disk / 8MB Cache 80GB SATA-150 7200RPM Hard Disk / 8MB Cache 250GB SATA-150 7200RPM Hard Disk / 8MB Cache 250GB SATA-150 7200RPM Hard Disk / 8MB Cache Slimline 8x DVD / 24x CD-ROM Drive Standard 3yr (UK) Next Business Day On-site Warranty I would be grateful for any comments about this config. Kind regards, Rory -- Rory Campbell-Lange <rory@campbell-lange.net> <www.campbell-lange.net>
Hi, Rory Campbell-Lange wrote: > We are considering two RAID1 system disks, and two RAID1 data disks. > We've avoided buying Xeons. The machine we are looking at looks like > this: > > Rackmount Chassis - 500W PSU / 4 x SATA Disk Drive Bays > S2882-D - Dual Opteron / AMD 8111 Chipset / 5 x PCI Slots > 2x - (Dual) AMD Opteron 246 Processors (2.0GHz) - 1MB L2 Cache/core (single core) > 2GB (2x 1024MB) DDR-400 (PC3200) ECC Registered SDRAM (single rank) Make that 4 or 8 GB total. We have seen a huge boost in performance when we upgraded from 4 to 8 GB. Make sure to use a decent 64bit Linux. > 4 Port AMCC/3Ware 9500-4LP PCI SATA RAID Controller > 80GB SATA-150 7200RPM Hard Disk / 8MB Cache > 80GB SATA-150 7200RPM Hard Disk / 8MB Cache > 250GB SATA-150 7200RPM Hard Disk / 8MB Cache > 250GB SATA-150 7200RPM Hard Disk / 8MB Cache Three options: 9500-4LP with Raptor drives 10k rpm, raid 1 + raid 1 9500-8LP with Raptor drives 10k rpm, raid 10 + raid 1 Go for SCSI (LSI Megaraid or ICP Vortex) and take 10k drives BBU option is always nice. Regards, Bjoern
> Three options: > > 9500-4LP with Raptor drives 10k rpm, raid 1 + raid 1 > 9500-8LP with Raptor drives 10k rpm, raid 10 + raid 1 > Go for SCSI (LSI Megaraid or ICP Vortex) and take 10k drives If you are going with Raptor drives use the LSI 150-6 SATA RAID with the BBU. Sincerely, Joshua D. Drake > > BBU option is always nice. > > Regards, > Bjoern > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster -- Your PostgreSQL solutions company - Command Prompt, Inc. 1.800.492.2240 PostgreSQL Replication, Consulting, Custom Programming, 24x7 support Managed Services, Shared and Dedicated Hosting Co-Authors: plPHP, plPerlNG - http://www.commandprompt.com/
On 6/8/05, Rory Campbell-Lange <rory@campbell-lange.net> wrote: > I'm tasked with specifying a new machine to run a web application > prototype. The machine will be serving web pages with a Postgresql > backend; we will be making extensive use of plpgsql functions. No > database tables are likely to go over a million rows during the > prototype period. ... > 2GB (2x 1024MB) DDR-400 (PC3200) ECC Registered SDRAM (single rank) > 4 Port AMCC/3Ware 9500-4LP PCI SATA RAID Controller > 80GB SATA-150 7200RPM Hard Disk / 8MB Cache > 80GB SATA-150 7200RPM Hard Disk / 8MB Cache > 250GB SATA-150 7200RPM Hard Disk / 8MB Cache > 250GB SATA-150 7200RPM Hard Disk / 8MB Cache If your app is select heavy, especially the types of things that do sequential scans, you will enjoy having enough ram to easily load all of your tables and indexes in ram. If your database will exceed 1GB on disk consider more ram than 2GB. If your database will be write heavy choosing good controllers and disks is essential. Reading through the archives you will see that there are some important disk configurations you can choose for optimizing disk writes such as using the outer portions of the disks exclusively. If data integrity is not an issue, choose a controller that allows caching of writes (usually IDE and cheaper SATA systems cache writes regardless of what you want). If it were my application, and if I had room in the budget, I'd double the RAM. I don't know anything about your application though so use the guidlines above. -- Matthew Nuzum www.bearfruit.org
> We are considering two RAID1 system disks, and two RAID1 data disks. > We've avoided buying Xeons. The machine we are looking at looks like > this: > > Rackmount Chassis - 500W PSU / 4 x SATA Disk Drive Bays > S2882-D - Dual Opteron / AMD 8111 Chipset / 5 x PCI Slots > 2x - (Dual) AMD Opteron 246 Processors (2.0GHz) - 1MB L2 Cache/core (single core) For about $1500 more, you could go 2x270 (dual core 2ghz) and get a 4X SMP system. (My DC 2x265 system just arrived -- can't wait to start testing it!!!) > 2GB (2x 1024MB) DDR-400 (PC3200) ECC Registered SDRAM (single rank) This is a wierd configuration. For a 2x Opteron server to operate at max performance, it needs 4 DIMMs minimum. Opterons use a 128-bit memory interface and hence requires 2 DIMMs per CPU to run at full speed. With only 2 DIMMS, you either have both CPUs run @ 64-bit (this may not even be possible) or populate only 1 CPU bank -- the other CPU must then request all memory access through the other CPU which is a significant penalty. If you went 4x512MB, you'd limit your future update options by having less slots available to add more memory. I'd definitely out of the chute get 4x1GB, > 4 Port AMCC/3Ware 9500-4LP PCI SATA RAID Controller > 80GB SATA-150 7200RPM Hard Disk / 8MB Cache > 80GB SATA-150 7200RPM Hard Disk / 8MB Cache > 250GB SATA-150 7200RPM Hard Disk / 8MB Cache > 250GB SATA-150 7200RPM Hard Disk / 8MB Cache Now this is comes to the interesting part. We've had huge, gigantic threads (check archives for the $7K server threads) about SCSI versus SATA in the past. 7200 SATAs just aren't fast/smart enough to cut it for most production uses in regular configs. If you are set on SATA, you will have to consider the following options: (1) use 10K Raptors for TCQ goodness, (2) put a huge amount of memory onto the SATA RAID card -- 1GB minimum, (3) use a ton of SATA drives to make a RAID10 array -- 8 drives minimum. Or you could go SCSI. SCSI is cost prohibitive though at the larger disk sizes -- this is why I'm considering option #3 for my data processing server.
Hi All. Thanks very much for Joshua, William, Bjoern and Matthew's replies. I've now looked at the famous "Server for 7K" thread. In my case we are looking for a server for around 3000 pounds (UK); the server is to be an all-purpose web and database server. Processor: First of all I noted that we were intending to use Opteron processors. I guess this isn't a straightforward choice because I believe Debian (our Linux of choice) doesn't have a stable AMD64 port. However some users on this list suggest that Opterons work very well even in a 32 bit environment. Some have suggested that a single dual core processor is the way to go. The RAM needs to fit the CPU arrangement too; William points out that one needs 2 DIMMS per CPU. Disks: I'm somewhat confused here. I've followed the various notes about SATA vs SCSI and it seems that SCSI is the way to go. On a four-slot 1U server, would one do a single RAID10 over 4 disks 10000rpm U320 disks? I would run the database in its own partition, separate from the rest of the OS, possible on LVM. An LSI-Megaraid-2 appears to be the card of choice. The following (without RAID card) breaks my budget by about 200 pounds: System : Armari Opteron AM-2138-A8 1U Base PCI-X (BEI) Case Accessories : IPMI 2.0 module for AM Series Opteron Servers CPU : AMD Opteron 265 - Dual Core 1.8GHz CPU (940pin) Memory : 2GB 400MHz DDR SDRAM (4 x 512MB (PC3200) ECC REG.s) Hard drive : Maxtor Atlas 10K V 147.1GB 10K U320/SCA - 8D147J0 Additional Drives : 3 x Maxtor Atlas 10K V 147.1GB 10K U320/SCA - 8D147J0 CD/DVD Drive : AM series Server 8x Slimline DVD-ROM Warranty : 3 Year Return to base Warranty (Opteron Server) Carriage : PC System Carriage (UK only) for 1U Server Thanks for any further comments, Rory -- Rory Campbell-Lange <rory@campbell-lange.net> <www.campbell-lange.net>
On 6/9/05, Rory Campbell-Lange <rory@campbell-lange.net> wrote: > Disks: > > I'm somewhat confused here. I've followed the various notes about SATA > vs SCSI and it seems that SCSI is the way to go. On a four-slot 1U > server, would one do a single RAID10 over 4 disks 10000rpm U320 disks? > I would run the database in its own partition, separate from the rest of > the OS, possible on LVM. An LSI-Megaraid-2 appears to be the card of > choice. > Can you tell us about your application? How much data will you have, what is your ratio of reads to writes, how tollerant to data loss are you? (for example, some people load their data in batches and if they loose their data its no big deal, others would have heart failure if a few transactions were lost) If your application is 95% writes then people will suggest drastically different hardware than if your application is 95% selects. Here is an example of one of my servers: application is 95+% selects, has 15GB of data (counting indexes), low tollerance for data loss, runs on a 1 GHz P3 Compaq server with mirrored 35 GB IDE disks and 1.6GB of RAM. Application response time is aproximately .1 second to serve a request on a moderately loaded server. -- Matthew Nuzum www.bearfruit.org
On Thu, 2005-06-09 at 17:44 +0100, Rory Campbell-Lange wrote: > Hi All. Thanks very much for Joshua, William, Bjoern and Matthew's > replies. > > I've now looked at the famous "Server for 7K" thread. In my case we are > looking for a server for around 3000 pounds (UK); the server is to be an > all-purpose web and database server. > > Processor: > > First of all I noted that we were intending to use Opteron processors. I > guess this isn't a straightforward choice because I believe Debian (our > Linux of choice) doesn't have a stable AMD64 port. Yes it does. Now sarge has become the new stable release, the amd64 version has also become stable. It doesn't have as many packages as the i386 port, but those it has will be supported by the Debian security team. Look at the debian-amd64 mailing list for more information. It only has PostgreSQL 7.4. To run 8.0, download the source packages from unstable and build them yourself. You need postgresql-8.0 and postgresql-common; if you also have an existing database to upgrade you need postgresql and postgresql-7.4. > However some users on > this list suggest that Opterons work very well even in a 32 bit > environment. You can treat the machine as a 32bit machine and install the i386 version of Debian; it will run rather slower than with 64 bit software. Oliver Elphick
Rory Campbell-Lange wrote: > Processor: > > First of all I noted that we were intending to use Opteron processors. I > guess this isn't a straightforward choice because I believe Debian (our > Linux of choice) doesn't have a stable AMD64 port. However some users on > this list suggest that Opterons work very well even in a 32 bit > environment. Some have suggested that a single dual core processor is > the way to go. The RAM needs to fit the CPU arrangement too; William > points out that one needs 2 DIMMS per CPU. Your summary here just pointed out the obvious to me. Start with a 2P MB but only populate a single DC Opteron. That'll give you 2P system with room to expand to 4P in the future. Plus you only need to populate 1 memory bank so you can do 2x1GB. > Disks: > > I'm somewhat confused here. I've followed the various notes about SATA > vs SCSI and it seems that SCSI is the way to go. On a four-slot 1U > server, would one do a single RAID10 over 4 disks 10000rpm U320 disks? > I would run the database in its own partition, separate from the rest of > the OS, possible on LVM. An LSI-Megaraid-2 appears to be the card of > choice. With only 4 disks, a MegaRAID U320-1 is good enough. It's quite a premium to go to the 2x channel MegaRAID. With 4 drives, I'd still do 2 big drives mirrored for the DB partition and 2 small drives for OS+WAL.
On 09/06/05, William Yu (wyu@talisys.com) wrote: > Rory Campbell-Lange wrote: > > ... Some have suggested that a single dual core processor is the way > > to go. The RAM needs to fit the CPU arrangement too; William points > > out that one needs 2 DIMMS per CPU. > Your summary here just pointed out the obvious to me. Start with a 2P MB > but only populate a single DC Opteron. That'll give you 2P system with > room to expand to 4P in the future. Plus you only need to populate 1 > memory bank so you can do 2x1GB. That makes sense. I should by a board with support for 2 Dual-core Opterons, but only use one Opteron for the moment. Then I should buy 2x1GB RAM sticks to service that processor. > > ... On a four-slot 1U server, would one do a single RAID10 over 4 > > disks 10000rpm U320 disks? I would run the database in its own > > partition, separate from the rest of the OS, possible on LVM. An > > LSI-Megaraid-2 appears to be the card of choice. > > With only 4 disks, a MegaRAID U320-1 is good enough. It's quite a > premium to go to the 2x channel MegaRAID. With 4 drives, I'd still do 2 > big drives mirrored for the DB partition and 2 small drives for OS+WAL. Should these all RAID1? I'm a bit worried about how to partition up my system if it is strictly divided between a system RAID1 disk entity and a DB disk entity, as the proportion of web server content (images, movies, sounds) to actual database data is an unknown quantity at the moment. I typically keep all the database stuff in a /var logical partition and for this project would expect to keep the web stuff under a /web logical partition. I was thinking of using LVM to be able to shift around space on a large (4 x 147GB RAID 1 or RAID10) raided volume. I appreciate that this may not be optimal for the WAL transaction log. Thanks for your comments; Rory -- Rory Campbell-Lange <rory@campbell-lange.net> <www.campbell-lange.net>
On 09/06/05, Matthew Nuzum (mattnuzum@gmail.com) wrote: > On 6/9/05, Rory Campbell-Lange <rory@campbell-lange.net> wrote: > > Disks: > > > > I'm somewhat confused here. I've followed the various notes about SATA > > vs SCSI and it seems that SCSI is the way to go. On a four-slot 1U > > server, would one do a single RAID10 over 4 disks 10000rpm U320 disks? > > I would run the database in its own partition, separate from the rest of > > the OS, possible on LVM. An LSI-Megaraid-2 appears to be the card of > > choice. > Can you tell us about your application? How much data will you have, > what is your ratio of reads to writes, how tollerant to data loss are > you? (for example, some people load their data in batches and if they > loose their data its no big deal, others would have heart failure if a > few transactions were lost) The application is a web-based prototype system for kids to make their own galleries based on content found in museums and galleries. They will link to content provided by curators, and be able to add in their own material, including movies, sounds and pictures. All the content, however, will be restricted in size. I also do not intend to store the movies, sounds or pictures in the database (although I have happily done the latter in the past). Up to the data will be uploaded from 3G handsets. The rest will be done on a per-user, per-pc basis through the web interface. The service is expected to be used by about 50000 users over 18 months. Of these around half will be content creators, so will account for say half a million rows in the main content table and under 2 million rows in the commentary table. The most used table will probably be a 'history' function required by the contract, tracking use through the site. I imagine this will account for something like 20 million rows (with very little data in them). The main tables will have something like 80% read, 20% write (thumb suck). The history table will be read by an automated process at 3 in the morning, to pick up some stats on how people are using the system. It wouldn't be a problem to very occasionally (once a month) lose a tiny piece of data (i.e a record). Losing any significant amounts of data is entirely out of the question. > If your application is 95% writes then people will suggest drastically > different hardware than if your application is 95% selects. > > Here is an example of one of my servers: > application is 95+% selects, has 15GB of data (counting indexes), low > tollerance for data loss, runs on a 1 GHz P3 Compaq server with > mirrored 35 GB IDE disks and 1.6GB of RAM. Application response time > is aproximately .1 second to serve a request on a moderately loaded > server. Yeah. Maybe the machine I'm speccing up is total overkill for this project? I'm just worried that if it is a big success, or if we have 400 kids pounding the server at once over high-speed school lines, the thing will grind to a halt. Thanks very much for your comments. Regards, Rory -- Rory Campbell-Lange <rory@campbell-lange.net> <www.campbell-lange.net>