Ideal web server configuration

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Ideal web server configuration

Mike Leahy
Hello list,

I'm looking at ordering a new web server for the office I'm in, and I'm
wondering if anyone has any suggestions regarding the hardware that I
should choose.  Normally, I've worked with hardware that was already
available to me, so I've never really had to put consideration into this
upfront.  I know this may be a bit off-topic for this list, but I figure
people on this list will likely have some experience with this.

The application we're working on will involve multiple simultaneous
users interacting with a chameleon-based map interface.  The
communication between the client and server will generally involve AJAX
requests and downloading of updated map images generated by MapServer.
On the server side, we'll be running Apache, PHP (with MapScript), and a
PostgreSQL/PostGIS server that will be receiving frequent
queries/updates.  There will likely be some high resolution imagery, as
well as a variety of vector layers used in the map that is displayed.

Given that I have a relatively modest budget to work with, what I'd
really like to know is how I should prioritize the different hardware
specs that I can choose from (e.g., multiple CPUs/core, RAM, SATA/SAS
and/or RAID disk configurations, etc.).

Thanks in advance for any suggestions,
Mike
Reply | Threaded
Open this post in threaded view
|

Re: Ideal web server configuration

Delfos, Jacob
RE: [UMN_MAPSERVER-USERS] Ideal web server configuration

Hi Mike,

It sounds like you are doing very similar things to us (chameleon, php_mapscript, AJAX, and postgresql). I'm nowhere near as qualified as some to answer this, but I would focus on:

- at least two harddisks setup as RAID, to ensure fast reading speed. This will help a lot in general, especially reading large images from the disk.
- lower-clockspeed quad core processors (comparatively cheap), in preference of high-speed dual core processors, because you would expect many, shortlived, simultaneous processes, rather than just a few intensive long-lasting processes. An expensive dual-core buys you two quad core processors. We prefer the latter.
- 4GB of RAM is good, although we rarely need it all.

I guess it depends on what you call a "modest budget", but I would focus on what you bottlenecks would be. In your case, I'd say disk speed (especially for chameleon, which does lots of reads and writes), then CPU, then RAM. We recently bought our server based on these principles, and it works well for us.

regards,

Jacob


-----Original Message-----
From: UMN MapServer Users List on behalf of Mike Leahy
Sent: Tue 22/01/2008 09:23
To: [hidden email]
Subject: [UMN_MAPSERVER-USERS] Ideal web server configuration

Hello list,

I'm looking at ordering a new web server for the office I'm in, and I'm
wondering if anyone has any suggestions regarding the hardware that I
should choose.  Normally, I've worked with hardware that was already
available to me, so I've never really had to put consideration into this
upfront.  I know this may be a bit off-topic for this list, but I figure
people on this list will likely have some experience with this.

The application we're working on will involve multiple simultaneous
users interacting with a chameleon-based map interface.  The
communication between the client and server will generally involve AJAX
requests and downloading of updated map images generated by MapServer.
On the server side, we'll be running Apache, PHP (with MapScript), and a
PostgreSQL/PostGIS server that will be receiving frequent
queries/updates.  There will likely be some high resolution imagery, as
well as a variety of vector layers used in the map that is displayed.

Given that I have a relatively modest budget to work with, what I'd
really like to know is how I should prioritize the different hardware
specs that I can choose from (e.g., multiple CPUs/core, RAM, SATA/SAS
and/or RAID disk configurations, etc.).

Thanks in advance for any suggestions,
Mike

This email and any attachments are intended solely for the named recipient and are confidential. The copying or distribution of them or any information they contain by anyone other than the named recipient is prohibited. If you have received this document in error, please notify the sender and delete all copies from your computer system and destroy all hard copies. It is the recipient's responsibility to check this email and any attachments to this email for viruses before use.
Reply | Threaded
Open this post in threaded view
|

Re: Ideal web server configuration

Hal Mueller-3
I would put RAM at the top of the priority list, since you're going  
to be running a database.  Make sure that thing never swaps.  Then  
disk access speed, then CPU.

Hal
Reply | Threaded
Open this post in threaded view
|

Re: Ideal web server configuration

Ed McNierney-4
In reply to this post by Mike Leahy
Mike -

You've gotten good advice so far, but if you're running PostgreSQL/PostGIS on the same machine, a lot depends on what "frequent" means in "frequent queries/updates".  As far as your GIS data goes, MapServer is basically a read-only application, and it's relatively easy to design a good disk subsystem (the slowest component in your server) for that application.  A good disk configuration for a highly interactive database with reads AND writes happening "frequently" is much more complicated, and harder (but more important) to get right.

Just as an example data point, I have long used 3Ware ATA RAID controllers with 8-disk RAID-5 arrays for raster data storage.  These provide an inexpensive solution with excellent read performance, and I essentially use those arrays as read-only volumes.  Write performance is much poorer on those volumes, and simultaneous read/write performance - as when I need to do a data update while a volume is in production - is TERRIBLE.  The writes are prioritized and they work OK but reading almost comes to a standstill.  None of this is surprising, and it's an appropriate design compromise.  But my PostgreSQL/PostGIS server does NOT use that same disk architecture <g>!

I never generalize, but I would not be surprised to find that the task of optimizing your hardware for your database application will do everything you need to optimize your hardware for your entire application suite.  Pay attention to that database first.

        - Ed

Ed McNierney
Chief Mapmaker
Demand Media / TopoZone.com
73 Princeton Street, Suite 305
North Chelmsford, MA  01863
[hidden email]
Phone: +1 (978) 251-4242
Fax: +1 (978) 251-1396

-----Original Message-----
From: UMN MapServer Users List [mailto:[hidden email]] On Behalf Of Mike Leahy
Sent: Monday, January 21, 2008 7:23 PM
To: [hidden email]
Subject: [UMN_MAPSERVER-USERS] Ideal web server configuration

Hello list,

I'm looking at ordering a new web server for the office I'm in, and I'm
wondering if anyone has any suggestions regarding the hardware that I
should choose.  Normally, I've worked with hardware that was already
available to me, so I've never really had to put consideration into this
upfront.  I know this may be a bit off-topic for this list, but I figure
people on this list will likely have some experience with this.

The application we're working on will involve multiple simultaneous
users interacting with a chameleon-based map interface.  The
communication between the client and server will generally involve AJAX
requests and downloading of updated map images generated by MapServer.
On the server side, we'll be running Apache, PHP (with MapScript), and a
PostgreSQL/PostGIS server that will be receiving frequent
queries/updates.  There will likely be some high resolution imagery, as
well as a variety of vector layers used in the map that is displayed.

Given that I have a relatively modest budget to work with, what I'd
really like to know is how I should prioritize the different hardware
specs that I can choose from (e.g., multiple CPUs/core, RAM, SATA/SAS
and/or RAID disk configurations, etc.).

Thanks in advance for any suggestions,
Mike
Reply | Threaded
Open this post in threaded view
|

Re: Ideal web server configuration

Ed McNierney-4
Mike -

Please always reply to the list; there are lots of other people out there with more database expertise than I!

"RAID" isn't just one thing - RAID-1, RAID-5, RAID-10, etc. all have very different goals and features/disadvantages.  I'm not actually recommending anything for your database; first, I don't have enough information on your application to do that, and while I certainly have opinions I don't have a broad range of experience in PostgreSQL/PostGIS applications.  I know how to make MINE work well, but not everyone's application is like mine...

There are quite a few folks on the list with PostgreSQL/PostGIS expertise, so if you can describe your usage of those applications in specific detail you will make it easier for us to give advice.  For example "frequent queries/updates" means very different things to different people - is "frequent" one update every day, or one per minute?

     - Ed

Ed McNierney
Chief Mapmaker
Demand Media / TopoZone.com
73 Princeton Street, Suite 305
North Chelmsford, MA  01863
[hidden email]
Phone: +1 (978) 251-4242
Fax: +1 (978) 251-1396

-----Original Message-----
From: Mike Leahy [mailto:[hidden email]] On Behalf Of Mike Leahy
Sent: Tuesday, January 22, 2008 4:23 PM
To: Ed McNierney
Subject: Re: [UMN_MAPSERVER-USERS] Ideal web server configuration

Ed,

Thanks for the feedback.

I'm still not entirely clear on what disk configuration you would
recommend for the database.  From what you're saying, RAID is generally
not so good for scenarios that involve many writes to the disk...am I
understanding this correctly?  If so, would it make sense to use a RAID
setup for storage of static data (e.g., system files, imagery, etc.),
plus an additional disk to hold the database and other read-write
resources (e.g., PHP session files etc.)?

Ideally, I figure we would want different components of our application
to be arranged on separate servers...but I don't think that's going to
be an option in our case.

Regards,
Mike




Ed McNierney wrote:

> Mike -
>
> You've gotten good advice so far, but if you're running PostgreSQL/PostGIS on the same machine, a lot depends on what "frequent" means in "frequent queries/updates".  As far as your GIS data goes, MapServer is basically a read-only application, and it's relatively easy to design a good disk subsystem (the slowest component in your server) for that application.  A good disk configuration for a highly interactive database with reads AND writes happening "frequently" is much more complicated, and harder (but more important) to get right.
>
> Just as an example data point, I have long used 3Ware ATA RAID controllers with 8-disk RAID-5 arrays for raster data storage.  These provide an inexpensive solution with excellent read performance, and I essentially use those arrays as read-only volumes.  Write performance is much poorer on those volumes, and simultaneous read/write performance - as when I need to do a data update while a volume is in production - is TERRIBLE.  The writes are prioritized and they work OK but reading almost comes to a standstill.  None of this is surprising, and it's an appropriate design compromise.  But my PostgreSQL/PostGIS server does NOT use that same disk architecture <g>!
>
> I never generalize, but I would not be surprised to find that the task of optimizing your hardware for your database application will do everything you need to optimize your hardware for your entire application suite.  Pay attention to that database first.
>
> - Ed
>
> Ed McNierney
> Chief Mapmaker
> Demand Media / TopoZone.com
> 73 Princeton Street, Suite 305
> North Chelmsford, MA  01863
> [hidden email]
> Phone: +1 (978) 251-4242
> Fax: +1 (978) 251-1396
>
> -----Original Message-----
> From: UMN MapServer Users List [mailto:[hidden email]] On Behalf Of Mike Leahy
> Sent: Monday, January 21, 2008 7:23 PM
> To: [hidden email]
> Subject: [UMN_MAPSERVER-USERS] Ideal web server configuration
>
> Hello list,
>
> I'm looking at ordering a new web server for the office I'm in, and I'm
> wondering if anyone has any suggestions regarding the hardware that I
> should choose.  Normally, I've worked with hardware that was already
> available to me, so I've never really had to put consideration into this
> upfront.  I know this may be a bit off-topic for this list, but I figure
> people on this list will likely have some experience with this.
>
> The application we're working on will involve multiple simultaneous
> users interacting with a chameleon-based map interface.  The
> communication between the client and server will generally involve AJAX
> requests and downloading of updated map images generated by MapServer.
> On the server side, we'll be running Apache, PHP (with MapScript), and a
> PostgreSQL/PostGIS server that will be receiving frequent
> queries/updates.  There will likely be some high resolution imagery, as
> well as a variety of vector layers used in the map that is displayed.
>
> Given that I have a relatively modest budget to work with, what I'd
> really like to know is how I should prioritize the different hardware
> specs that I can choose from (e.g., multiple CPUs/core, RAM, SATA/SAS
> and/or RAID disk configurations, etc.).
>
> Thanks in advance for any suggestions,
> Mike
>