Subject | database loads / number of connected users |
---|---|
Author | Peter Lee |
Post date | 2011-02-14T14:01:47Z |
We currently have a couple of applications that use Firebird in a LAN
environment, using Classic on OSX and Superserver on Windows. On both
platforms we use the embedded libraries to connect to a LAN server or
talk to a local db.
Typical usage would currently be perhaps 30/60/90 active connections,
hitting the database with small update or select queries every 2 - 5
minutes. We don't have a lot of knowledge regarding what type of
servers our customers are using but it wouldn't be uncommon for people
to be using fairly low end machines, or hosting FB within a small VM.
We generally don't get complaints about performance. Our database file
starts out 'empty' at about 25mb, and in a large client with perhaps 600
active users I can't imagine it growing past 50mb or so. Most writes
would touch 1 or 2 tables, writing 4-6 integers each and perhaps a
timestamp.
Our customers are wanting us to move to a hosted solution, to allow for
easier deployment and remote access. To reduce impact on our existing
code, we are thinking of implementing some middleware that sits between
the FB server and our application. We are not wanting to talk directly
to Firebird over the web. Each customer will have a single database
file, perhaps 50 - 1000 active users, with simultaneous use of perhaps
100-200 users.
This is a terribly open ended question and obviously our application
database usage profile is key as is the server hardware, network links
etc.... but - other experiences and advice would be appreciated;
* We are currently trying to get some rough idea of how many databases
and connections we will be able to host on a single server - perhaps
something like a Linode 1536 (http://www.linode.com/)
* Would it be best to hit a FB server with many multiple connections
or 'queue' them and execute sequentially? We're thinking that we could
implement a connection limit in the our middleware that balances
connections / cpu / disk io via trial experience?
* If there are multiple database files on a single server would it be
better to run multiple FB server instances (different ports) or just
allow a single server to talk to all the databases? I imagine this
might depend on the server type we choose - classic, super, superclassic?
We are planning on doing lots of trials... but would still value any
advice and experience.
Thanks,
Peter Lee
--
Peter Leeptle@...
-----------------------------------------------------------------------
Rising Software Australia Pty. Ltd.http://www.risingsoftware.com/
Publishers of 'Auralia' - Ear Training and 'Musition' - Theory Training
Ph: +61 3 9481 3320 FAX: +61 3 9481 3380 USA Freecall: 1 888 667 7839
environment, using Classic on OSX and Superserver on Windows. On both
platforms we use the embedded libraries to connect to a LAN server or
talk to a local db.
Typical usage would currently be perhaps 30/60/90 active connections,
hitting the database with small update or select queries every 2 - 5
minutes. We don't have a lot of knowledge regarding what type of
servers our customers are using but it wouldn't be uncommon for people
to be using fairly low end machines, or hosting FB within a small VM.
We generally don't get complaints about performance. Our database file
starts out 'empty' at about 25mb, and in a large client with perhaps 600
active users I can't imagine it growing past 50mb or so. Most writes
would touch 1 or 2 tables, writing 4-6 integers each and perhaps a
timestamp.
Our customers are wanting us to move to a hosted solution, to allow for
easier deployment and remote access. To reduce impact on our existing
code, we are thinking of implementing some middleware that sits between
the FB server and our application. We are not wanting to talk directly
to Firebird over the web. Each customer will have a single database
file, perhaps 50 - 1000 active users, with simultaneous use of perhaps
100-200 users.
This is a terribly open ended question and obviously our application
database usage profile is key as is the server hardware, network links
etc.... but - other experiences and advice would be appreciated;
* We are currently trying to get some rough idea of how many databases
and connections we will be able to host on a single server - perhaps
something like a Linode 1536 (http://www.linode.com/)
* Would it be best to hit a FB server with many multiple connections
or 'queue' them and execute sequentially? We're thinking that we could
implement a connection limit in the our middleware that balances
connections / cpu / disk io via trial experience?
* If there are multiple database files on a single server would it be
better to run multiple FB server instances (different ports) or just
allow a single server to talk to all the databases? I imagine this
might depend on the server type we choose - classic, super, superclassic?
We are planning on doing lots of trials... but would still value any
advice and experience.
Thanks,
Peter Lee
--
Peter Leeptle@...
-----------------------------------------------------------------------
Rising Software Australia Pty. Ltd.http://www.risingsoftware.com/
Publishers of 'Auralia' - Ear Training and 'Musition' - Theory Training
Ph: +61 3 9481 3320 FAX: +61 3 9481 3380 USA Freecall: 1 888 667 7839