Subject Re: [firebird-support] Server hardware advice needed
Author Milan Tomeš - Position
Hi,

I'll suggest to consider virtualization. In your case it will be good
way. If you buy any of offered comercial server I think that it will
have much more performance than you need for 25 RD connections. But I
don't know your application's needs so this may be inaccurate.

To your questions:
1. It depends on your decision to use virtualization or not. If not I'll
recommend just 4core CPUs (seems to be powerfull enough to your needs).
If yes then invest more money to this and use more powerfull CPUs
because you'll be able to get profit from it (and you'll need less
servers than without virtualization)
2. Can't say. Maybe some tests will get the answer.
3. Again depends on decision about virtualization. If yes more RAM will
be needed (as you need configure how many RAM can be used by a single
virtual server). If not I'll recommend like 8GB. Price isn't so high,
but again - I don't know nothing about your application.
4. I'll recommend to reverse your thinking - SSD for system and regular
HDD for DB. It's because of limited write cycles of SSD.
5. I prefer 64 bit OS + 64 bit FB
8. We're using a lot of IBM servers with Windows 2008 R2 without
problems so I can recommend them. Some of them are used for
virtualization (VMware), some of them not.

HTH

Milan

Dne 29.7.2011 20:41, Joe napsal(a):
>
>
> We are planning on offering our application as a hosted solution,
> using Windows Terminal Services. We will need to put together a test
> server, and then hopefully once it's stable, be able to buy more
> identical servers, and replicate them with a hard drive image, so that
> we can easily add more customers as demand grows. These will be
> co-located rackmount servers. Not having done this before, I need some
> advice on hardware specs. I don't want to underbuy, and end up wasting
> money on hardware that we have to replace. On the other hand, I don't
> want to way overbuy and spend more than we have to. I am hoping to get
> some advice here.
>
> Here are some details about our offering:
>
> This is a Windows desktop application, which currently runs under
> Windows XP, Vista, and Windows 7. This offering will use the same
> application, but run on Windows Server 2008. All clients will connect
> to the server via Terminal Services.
>
> We will have only one "customer" on each server. Each customer will
> have only one database. Although we may offer this hosted service to
> single-location customers, most of our customers will have multiple
> locations, and each location will have several clients. Each client
> will be connecting to their company's server (hosted by us) via Remote
> Desktop. Each of these remote desktop clients will be running an
> instance of our application on the server inside their Remote Desktop
> session. All of these instances of our application will run against a
> single Firebird database, which will be running on the same server
> (unless there's a compelling reason to have a separate server hosting
> the database).
>
> The majority of our customers using this solution will have between 2
> and 4 locations, and each location will typically have 3-6 clients. So
> bottom line is that we're looking at each server accepting about 6-25
> remote desktop connections, 6-25 instances of our application running,
> and 6-25 local connections to a single local database. Most of these
> clients will all be connected to the database at the same time, but
> will genearlly NOT be all reading/writing the database at the same
> time. I'd say roughly 30-60% of these clients will be fairly active.
> This is a retail POS application, and this 30-60% would be the POS
> stations ringing up sales. The rest of the clients would be used for
> misc. tasks, and only used sporadically throughout the day. Off the
> top of my head, I'd say that the clients will be doing roughly equal
> amounts of reading vs writing the database.
>
> For reference... Currently, our application runs on Windows boxes (XP
> thru Win7), with multiple clients (again typically 3-6, and sometimes
> up to 10) connecting to a single server on the LAN. We generally don't
> have any serious performance issues, unless their server is running on
> old hardware against a large database. This is running their clients
> and servers on run-of-the-mill desktop PC's that they buy locally.
>
> Typical single-location databases are in the 30MB-150MB range,
> depending on how much historical data they have. A 5-location database
> that has a fair amount of history may be 750MB or so.
>
> We will be using Firebird 2.5. The application uses IBObjects.
>
> Questions that come to mind right now:
>
> 1) Processor(s) - I'm looking at servers with Intel Xeon processors.
> From what I can tell, they're offered as 4-core (8 CPU threads) and
> 6-core (12 CPU threads), and I can have 1 or 2 of them (up to 24
> threads, which gets quite pricy). Will a single 4-core CPU be enough?
> Benefit of multiple physical CPU's, vs more cores? Specifically as it
> relates to Firebird (and I guess Terminal Services)?
>
> 2) Run superserver or classic? (I think this is partially related to
> #1 above).
>
> 3) Suggestions on amount of RAM?
>
> 4) Drives - I'm thinking about utilizing solid state drives to boost
> performance. I'm thinking about a regular HDD to run the Operating
> system, and a pair of solid state drives in a RAID 1 configuration to
> hold the database. Any better suggestions? Will the solid state drives
> make much difference in our situation?
>
> 5) 32 or 64 bit version of Windows Server? Our application is 32-bit,
> but runs fine on 32 or 64 bit versions of Windows 7 and Vista.
>
> 6) Anything else to consider that I haven't mentioned?
>
> 7) Any other pieces of information that would be helpful for me to
> provide? I'm sure there are some.
>
> 8) Any particular hardware brands to consider (or stay away from)?
>
> Thanks in advance,
> Joe
>
>


[Non-text portions of this message have been removed]