Forum Moderators: open
I just made a purchase (maybe I should have checked here first); but it was a Dell PowerEdge 1800. I customized it to my liking, but I'm not sure if it was overkill or underkill. Please you be the judge. First let me tell you what I'm trying to accomplish with this new server. It will be my home-based web server and database server (MySQL). I will install Windows 2003 Server onto it, MySQL 4.1, PHP5, ActivePerl 5.8, IIS 6.0, and that's about it. It will become part of a existing domain, I'm not sure if I am going to dcpromo it or not, but as of now that is a "no", I will leave it as just another server on the network without any administrative duties outside of web and database. Currently I only have a combined total of 500 users a day coming to my websites. I'm host my websites currently on a single PIII box w/ Windows 2003...a Dell Optiplex (desktop ...not server). It has not given me any trouble or headaches as of yet, it's actually been doing very well, but I don't have much traffic so that might be why. In the coming months i plan to advertise aggressively as well as host a few other people websites, so I knew I needed a better system, as well I will be hosting a new website of mine which will be a online blog host for visitors to sign up and have a blog through my network, therefore I needed something reliable. My goal is to have at least 15,000 to 50,000 visitors per day by this time next year. So I would like to know if these specs would suffice:
The specs:
Dell PowerEdge 1800 Server
-Dual Intel Xenon 2.8GHz processors - 800MHz FSB
-1 GB DDR2 400MHz (2 x 512) Single Ranked
-160GB 7200 RPM SATA Hard Drive
-80GB 7200 RPM SATA 2nd Hard Drive
-2 Intel Pro 1000MT Dual Port Gigabit Network Adapter
-Non-Redundant Power Supply
That is basically the gist of it. I customized it on the Dell site but I couldn't find more info on the motherboard, watts of the power supply, or fans, but I put my trust in Dell that they would supply me with good equipment. (I hope I'm not sorry). Anyway, I would like to know do you think with knowing those specs, would this work well as a web server (expecting 10K-50K traffic) and MySQL databaase.
Also, is it a good idea to put IIS and MySQL on the serever as well as the same hard-drive or should I separate the two?
Please share your thoughts. In advance thanks for the help!
just to give you a rough idea though, I rent a dedicated server (desktop) with pretty minimal specs: 2.4ghz pentium, 1 GB ram, 80 gig HD, 1.2TB/month bw. I serve something like 5,000,000 pageviews a month and it does just fine. server load floats between 1 and 3.
yeah, the mysql db is built into that server, it isn't a seperate one, and it's queried frequently.
50,000 uniques a day could be really really intense though. I suppose it depends on how intensive most pages are and how many pages each person loads.
Not sure if this is a proper question, but do anyone know if MySQL has anything like a cache, so instead of the db accepting queries it can respond to queries from a cache file? Like holding the last 24 hours of db queries within a file that is not aligned with MySQL. Therefore, allow the db to be free to process other information.
is it a good idea to put IIS and MySQL on the serever as well as the same hard-drive or should I separate the two?
That's not a good idea if you have information that you want to keep more secure. If the database is on the web server then it's directly connected to the internet. If your solution requires a higher level of security then put the database on a separate machine on your network and have the web server access it via a dsn.
I have these options for separating the two, please tell me what is the best, in respect to performance, security, and overall stability.
Let me tell you about my old server, it is a Intel PIII, with Windows 2003, 256MB of RAM, 100GB HD, not the best server but it does what it needs to do at this time.
My options:
First option
1. Use my old server as the Web Server which connects to the MySQL (new server) server on a local IP
(that is how I have it setup now on my old servers...I have another server that specs is identical to the old server...but it is Windows 2000 server on the MySQL machine)
Second option:
2. Use my new server as the Web Server and MySQL server, but MySQL installed on a separate hard-drive and using a completely different NIC (local IP) and the Web server installed on another hard-drive using a different NIC (external IP)
(number 2 is the option I was planning to go with, but I'm also setting up a RAID and know that a second HD might not be possible, but do you know if MySQL can be setup to only receive queries from a specified IP...even if there is another IP (NIC) availiable?)
If you think option 2 is not a good idea, please let me know...and why not? I appreciate the feedback. Thanks.
I'm in a Microsoft shop so I can't speak directly to MySql. You should be able to pull off the separate hard drive and nic card (pretty clever) for your db installation but you might get better performance from a distributed model (2 machines). This way your duel procs can be exclusive to your database while the proc on the web server is responsible for web page execution. I'd bump the memory in the web server if you can.
Gigabit Network Adapter
I will use the old box as my web server and put my RAM in that machine, I'll take it to 1GB (not sure if I can, but I'll try it). Ideally, I would like to get another server for the Web Server, but that will not be for some months from now.
Then I will use the new server as the MySQL...I will go with a RAID 1 (mirror) on that box, since I don't have to worry about storage space (yet), and it will provide me with fault tolerance. I thinking 80GB will do just fine for now, I was hoping to use the 160GB but oh well!...I will upgrade when that time comes.
I don't have a Gigabit LAN but maybe I will look into that. I was hoping the Gigabit NIC was a nice addition. Once I see it perform I think I may even get another Gigabit NIC for the web server box to handle the traffic.
Thanks for your help, it starting to make sense and look clearer for me. Thanks.
If anyone has any more suggestions my ears are open. Thanks.
Your mirrored suggestion will provide better read performance, but the bottle neck tends to be in writing. If you don't want to opt for the third drive, partition the drive and keep the tables separate from the indexes and rollback segments. That way, there is less disk contention.
For server use, I'd stick with SATA since it has command queuing: [seagate.com...] - that's what SCSI was good for too.
partition the drive and keep the tables separate from the indexes and rollback segments. That way, there is less disk contention.
That sounds intersting - but if the data and transaction logs are on the same physical drive, how can it write them both concurrently.
My SQL Box handles up to 50 concurrent writes, its Raid 0+1 for the data and logs and a Raid 1 Mirror for the OS and SQL Application. For a high availability e-commerce app I would go a step further and have separate RAID 0+1 arrays for the logs and data. Its all down to cost at the end of the day.