« Friends for Sale Architecture - A 300 Million Page View/Month Facebook RoR App | Main | Strategy: Sample to Reduce Data Set »
Wednesday
Apr302008

Rather small site architecture.

Website stats:

Webserver: Apache 2.2
Database: MySQL 5.0
APC cache for php
CMS: Drupal 6.2 (bleeding-edge version)*
*Aggressive caching is ON, Page Compression ON, Block Cache ON (can't use CCS),Optimize CSS/JS ON.
2 Servers: Apache/Mysql (low-tech servers - Celeron processors, 512 MB RAM, 7200 RPM HDD)
Bandwidth 10 Mb/s

The benchmark:


Used ab : ab -n 1000 -c 20 howwhatwho.com

Server Software: Apache/2.2.3
Server Hostname: howwhatwho.com
Server Port: 80
Document Path: /
Document Length: 41639 bytes
Concurrency Level: 20
Time taken for tests: 13.556796 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 42118000 bytes
HTML transferred: 41639000 bytes
Requests per second: 73.76 [#/sec] (mean)
Time per request: 271.136 [ms] (mean)
Time per request: 13.557 [ms] (mean, across all concurrent requests)
Transfer rate: 3033.90 [Kbytes/sec] received

The Apache server is also running the postifx and bind although they aren't resource intensive applications.
The Cron job for drupal runs every 50 minutes, and the agreggator module is enabled and fetches more than 30 rss feeds every time.

The site used to be hosted on a single Celeron machine but on peak times the CPU went up to 80 %.

Question : Does anybody know a website hosted on an IBM Mainframe? :) Todd?

Reader Comments (6)

That's nice, at last a sample configuration of a startup website

December 31, 1999 | Unregistered CommenterAnonymous

I would imagine it would fair better using Lighttpd instead of Apache, and SQLite instead of MySQL.

December 31, 1999 | Unregistered CommenterAnonymous

I heard (don't kill me if i'm wrong) that lighttpd has some 'memory leaks' issues, nginx would have been an alternative tough I'm used to Apache so...
SQLite outperforms MySQL on a small scale app but what will you do with that file-io kinky stuff when your website reaches 1000 request/sec.

December 31, 1999 | Unregistered CommenterMarcelb-Alter-Ego

An important e-commerce website - one of the most important in Europe!... It was fun. All in a cgi-langage called Net.Data.
We had huge problems of scalability! "solved" (hum...) by migrating on an .asp site!

December 31, 1999 | Unregistered CommenterGabriel K.

I suggested LightTPD and SQLite because I've used both. And intend on creating a project using at least LightTPD.

LightTPD has a memory leak when using mod_cgi. Which you don't want to use anyway when there's mod_fastcgi or better options.

December 31, 1999 | Unregistered Commenterdjacobs
December 31, 1999 | Unregistered Commenterfarhaj

PostPost a New Comment

Enter your information below to add a new comment.
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>