You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by trifo <tr...@gmail.com> on 2013/10/31 09:54:14 UTC

[users@httpd] building a web farm

Hi Folks,

I am running a web site using Apache httpd on several server nodes to
provide high availability and performance. At present, the web content
resides on a clustered filesystem (GPFS) to ensure that all the nodes serve
the same content in any moment.

Well, GPFS is quite an expensive product, thus the management tries to get
rid of it. Now my question is this: how to build a high performance
environement without a clustered filesystem? Where to store the html files,
and how to ensure the consistency between nodes?

(we have mostly static html pages, but over 400k of them. And there is a
part which changes regularly)

Can you give me some good practices?

--Trifo

Re: [users@httpd] building a web farm

Posted by Yehuda Katz <ye...@ymkatz.net>.
On Thu, Oct 31, 2013 at 4:54 AM, trifo <tr...@gmail.com> wrote:

> I am running a web site using Apache httpd on several server nodes to
> provide high availability and performance. At present, the web content
> resides on a clustered filesystem (GPFS) to ensure that all the nodes serve
> the same content in any moment.
>
> Well, GPFS is quite an expensive product, thus the management tries to get
> rid of it. Now my question is this: how to build a high performance
> environement without a clustered filesystem? Where to store the html files,
> and how to ensure the consistency between nodes?
>

We have a number of webservers running on ZFS. According to what I could
find about GPFS, VFS looks like a decent replacement, but YMMV.

- Y

Re: [users@httpd] building a web farm

Posted by trifo <tr...@gmail.com>.
Thanks Tom,

Balancing is solved well in this case, as we run on enterprise hardware
load balancers. They do a lot of work.
For the node grouping I think there are too few nodes to give up the half
of them for most of the time. Sadly the highest change rates occur during
the highest usage times.

But ok, you say that we should run on a high number of relative small nodes
and updating half of them while serving from the rest. But. Increasing the
number of nodes even increases the amount of data to push through the
network, whose bandwidth is limited and the time is limited as well.

--Trifo

≈( Telefonról küldve )≈
On Nov 1, 2013 3:42 PM, "Tom Evans" <te...@googlemail.com> wrote:

> On Thu, Oct 31, 2013 at 11:30 PM, trifo <tr...@gmail.com> wrote:
> > Thanks for the replies.
> >
> > Well, I forget to mention that we run on AIX, not on Linux. And so it is.
> > The files MUST be consistent in any moment of time. There is a period of
> > time when a lot of pages are changing in every 5 minutes.
>
> The point really should be that all files that are served are
> consistent and up-to-date, not that all files on all nodes are
> consistent all the time.
>
> The second condition can only be met by a distributed file system,
> which is complex, costly and difficult to maintain. The first
> condition however can be met by using simple local file systems and
> sets of nodes, disabling one set of nodes to update files on those
> nodes, whilst serving from another set of nodes. Once all the nodes in
> the first set are up to date, you switch to serve from that node set,
> and start updating the nodes in the second set. Once those are up to
> date, you can serve again from all nodes.
>
> This could easily be automated - sad to say, I would probably use
> haproxy over mod_proxy_balancer for this, for its better reporting,
> management tools and API.
>
> Cheers
>
> Tom
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
> For additional commands, e-mail: users-help@httpd.apache.org
>
>

Re: [users@httpd] building a web farm

Posted by Tom Evans <te...@googlemail.com>.
On Thu, Oct 31, 2013 at 11:30 PM, trifo <tr...@gmail.com> wrote:
> Thanks for the replies.
>
> Well, I forget to mention that we run on AIX, not on Linux. And so it is.
> The files MUST be consistent in any moment of time. There is a period of
> time when a lot of pages are changing in every 5 minutes.

The point really should be that all files that are served are
consistent and up-to-date, not that all files on all nodes are
consistent all the time.

The second condition can only be met by a distributed file system,
which is complex, costly and difficult to maintain. The first
condition however can be met by using simple local file systems and
sets of nodes, disabling one set of nodes to update files on those
nodes, whilst serving from another set of nodes. Once all the nodes in
the first set are up to date, you switch to serve from that node set,
and start updating the nodes in the second set. Once those are up to
date, you can serve again from all nodes.

This could easily be automated - sad to say, I would probably use
haproxy over mod_proxy_balancer for this, for its better reporting,
management tools and API.

Cheers

Tom

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] building a web farm

Posted by trifo <tr...@gmail.com>.
Thanks for the replies.

Well, I forget to mention that we run on AIX, not on Linux. And so it is.
 The files MUST be consistent in any moment of time. There is a period of
time when a lot of pages are changing in every 5 minutes. Well, rsync is
used to push the changes, mixed with some other tools, but these changes
are pushed to only one node and become available on the others immediately.
Well, it is late night now and a few minutes of googling did not put up
anything related to "Running DRBD on AIX"...  I will check the others
tomorrow.

Thanks,

--Trifo


2013/10/31 Mark H. Wood <mw...@iupui.edu>

> On Thu, Oct 31, 2013 at 09:54:14AM +0100, trifo wrote:
> > I am running a web site using Apache httpd on several server nodes to
> > provide high availability and performance. At present, the web content
> > resides on a clustered filesystem (GPFS) to ensure that all the nodes
> serve
> > the same content in any moment.
> >
> > Well, GPFS is quite an expensive product, thus the management tries to
> get
> > rid of it. Now my question is this: how to build a high performance
> > environement without a clustered filesystem? Where to store the html
> files,
> > and how to ensure the consistency between nodes?
>
> Get a cheaper product?  DRBD perhaps? GFS2? Lustre? can iRODS do what
> you need?  If I understand how GPFS works, you might wind up buying
> much more storage, but everyone keeps saying that storage is cheap....
>
> > (we have mostly static html pages, but over 400k of them. And there is a
> > part which changes regularly)
>
> Does the content have to be absolutely identical 100% of the time, or
> can occasional changes ripple through the system on a scale of seconds
> to minutes?  rsync is free.  How volatile are your volatile pages?
>
> --
> Mark H. Wood, Lead System Programmer   mwood@IUPUI.Edu
> Machines should not be friendly.  Machines should be obedient.
>

Re: [users@httpd] building a web farm

Posted by "Mark H. Wood" <mw...@IUPUI.Edu>.
On Thu, Oct 31, 2013 at 09:54:14AM +0100, trifo wrote:
> I am running a web site using Apache httpd on several server nodes to
> provide high availability and performance. At present, the web content
> resides on a clustered filesystem (GPFS) to ensure that all the nodes serve
> the same content in any moment.
> 
> Well, GPFS is quite an expensive product, thus the management tries to get
> rid of it. Now my question is this: how to build a high performance
> environement without a clustered filesystem? Where to store the html files,
> and how to ensure the consistency between nodes?

Get a cheaper product?  DRBD perhaps? GFS2? Lustre? can iRODS do what
you need?  If I understand how GPFS works, you might wind up buying
much more storage, but everyone keeps saying that storage is cheap....

> (we have mostly static html pages, but over 400k of them. And there is a
> part which changes regularly)

Does the content have to be absolutely identical 100% of the time, or
can occasional changes ripple through the system on a scale of seconds
to minutes?  rsync is free.  How volatile are your volatile pages?

-- 
Mark H. Wood, Lead System Programmer   mwood@IUPUI.Edu
Machines should not be friendly.  Machines should be obedient.