
July 11th, 2009, 11:20 PM
|
|
Registered User
|
|
Join Date: Jul 2009
Posts: 1
Time spent in forums: 2 h 46 m 55 sec
Reputation Power: 0
|
|
|
Help me design a Super Server, soo many questions.
I have a somewhat complex question here, i'm looing for people to bounce some ideas off of. I will try to make this easy to read, since there are a lot pertinent details.
"I have been in the industry 15 yrs, but i've found myself in the midst of a project I'm not sure of. I have never created an extremely high capacity system, and that's what we need!"
Client: Companies who purchase a customizable business solution. Customer / User: Customer of a Client. 1 Client: 1,000 or more users. Unlimited Data Storage
WHAT I AM HOSTING:1 Customizable PHP application that outputs a client website created by database variables and CSS controled by the clients. 2. The Client management system for each website. 3. MySQL Databases a. Main System Registry Database <<< Low Usage
b. Main Codebase Features Database for Shared Data <<< High Usage
c. 1 Database for Each Clients Website to store settings, orders, inventory, customers, users, etc.<<< High Usage
4. The clients custom CSS, images, and content. 5. Extreme Storage Capacity. Around 1tb / user. 6. Extreme Load capacity, As high as possible. "We have built a php system that the clients share. We can create solutions and features for niche markets, then the client can turn those features on and off and tailor the look and content on their site."
Here is the kicker.
We designed this software with the intention of making high-price / low-volume sales, we never did the math. We expected it to be pricey, but what we found was disheartening. Our projected costs were so high, that we would never emerge from debt.
The Math Suggests: Spend whatever it takes to support the highest number of clients and customers possible per server.
PROPOSED SERVER SYSTEMS
2 Servers I call "PHP/MYSQL/Apache" and "Raid90MySQL".
"These systems are to be hosted in proximity to each other at Cal-Pop, a teir 1 service provider."
"PHP/MYSQL/Apache" (Website Server)The web server that hosts our Codebase, and displays every clients website. The MySQL server is very busy and stored on solid state drives in a Striped and mirrored data array. Clients have a hosted online editing feature, as well as FTP access to a "WebsiteRoot" folder that holds the custom CSS and images for their site.
HARDWARE CONFIG.
- Dual Xeon 3.0Ghz Quad Core Processors
- 72 GB Triple Channel DDR3 1333
- 8 port Raid 6 controller.
- 12 X 250gb SATA Solid Disks.
- (1.5TB Raid 6 Array. + A 500GB Raid 0/1 Array)
EXPLANATION:
I used solid state drives to ensure the disks could keep up with requests. Would these arrays be expandable if I needed more space?
Can I just add another raid controller and more drives?
The 1.5TB 6 data array will contain our PHP software and then split between Clients (for website files).
The 500GB 0/1 Array will store the OS and the Entire Database.
Quad Nics!, My understanding is that I can plug in 4 separate connections and increase my bandwidth by 4x. IS THAT RIGHT
[U]"Raid90"[/U (File Server)] Stores and Retrieves Files. A high capacity data server. My goal is to allow for expansion.
HARDWARE CONFIG.
- Dual Xeon 3.0Ghz Quad Core Processors
- 72 GB Triple Channel DDR3 1333
- 4 X 250 GB Solid State Drives. 500GB Raid 0/1 Array. << OS.
- 2 X 24-Port SATAII Raid 6 Controller
- 48 X 2TB 7200RPM 64MB Cache WD Hard Drives
- 88TB Raid 6 Array with Dual Fault Tollerance
A Client is Seller and a Customer is a buyer. How many Clients and Customers could that one web server support?
The second questions is, if my Raid90 system is build and only has 20 drives, can I easily add 20 more later? And if so, what If the entire server fills up, can I extend that data array onto another server somehow?
Am I hosting things in the right places? Does the position of the MySQL make it faster and able to handle more hits?
What am I doing wrong? What am I doing right?
Thank You,
Joshua Livesay
Last edited by JoshuaLIvesay : July 12th, 2009 at 01:51 AM.
Reason: Make it look better.
|