Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Apr 2009 16:39:06 -0400
From:      Zaphod Beeblebrox <zbeeble@gmail.com>
To:        Michel Di Croci <michel.dicroci@gmail.com>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: Evaluating the performance of a single FreeBSD server
Message-ID:  <5f67a8c40904231339i3335cb22sa2b72f52ec0766ec@mail.gmail.com>
In-Reply-To: <e321688c0904231104g209086e8u5bda23c88676332e@mail.gmail.com>
References:  <e321688c0904231104g209086e8u5bda23c88676332e@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Apr 23, 2009 at 2:04 PM, Michel Di Croci
<michel.dicroci@gmail.com>wrote:

> Hello,
>
> One of my ex colleague wanna startup a web project. I'm still unsure about
>
[...]

> However what I want to know here is how much could handle this server as a
> standalone? How many requests at the same time ? If it's a good way to
> present as a startup? If we should go indead to a managed server. My idea
> here is that if it's going too slow, we might just buy new instead of going
> with a all managed solution where we would be more like renting a server.


System performance is a moving target that is insanely difficult to hit
without usage data.  Is your application going to be processor bound
(unlikely these days), memory bound, network bound, disk bound?

The cost of a baisc server from a large vendor is around $1k (dell, hp, sun,
etc) that you can load FreeBSD on.  If you purchace carefully, you'll get a
nice quad core with decently fast memory and two disks (RAID 1).  It will
also likely have two or more gigabit nics.

Is this optimal in any way?  No.  The nic chipsets will suck a bit, the
drives will be small-ish... and so on.

But compared to a few years ago when you had to care about the performance
of a server for a small company, the system will be a monster.

My sincere advice is to buy the basic server, build your app and then test
it.  Test what gets busy first.  This depends a little on the hardware, but
it depends a lot on how you build your app.  It may be cheaper to optimize
the app rather than buy more hardware.  As an example, moving the database
server to another machine may not help at all.  If you're not CPU bound, you
simply move the bottlenecked I/O to another machine --- still bottlenecked.

But as a baseline to answer your question, without running anything
serverside (just serving files) FreeBSD can fill multiple gigE nics with
content (large-ish files) or perform many millions of hits an hour (small
files) on this configuration.

Making the broad brush assumption that your Apache+PHP+PostgreSQL is going
to run a moderate content manager (a moderately onerous application), you'll
still probably pass a million hits an hour if you can push that much content
over your network connection and your disks are fast enough (and you can
display your page with one or two database hits).

In fact number of databse hits per pageview is likely one of your larger
limitations.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5f67a8c40904231339i3335cb22sa2b72f52ec0766ec>