I recently read:
"InterBase (SuperServer Architecture) does not know how to use multiple
processors correctly. On NT, if you have multiple processors, the InterBase
process will get flipped from processor to processor. It will look like
InterBase is using multiple processors but it is not. Empirical evidence
points to as much as a 30% decrease in performance due to the flipping of
the InterBase process.
If you have a multi processor machine and are running InterBase on it, you
can run InterBase as an application and set its affinity to one processor to
prevent the flipping of InterBase from processor to processor."
Is this still true? If so, this is not good. Any suggestions/comments?
BTW, what is SuperServer architecture?
Thanks,
Ed Salgado
Senior Developer
TvSCAN - A Division of BuyMedia, Inc.
800-476-7226
esal...@TvScan.com
InterBase comes in two flavors:
1) SuperServer
2) Classic
As the name implies, Classic is the older architecture that spawns a new
process for every connection. When using Linux, this still is a very popular
architecture. SuperServer, being the newer architecture, uses a
multithreaded engine to support multiple connections. On Windows systems,
this is the only available architecture - but it doesn't work well on SMP
systems. Classic, however, works fine on SMP systems - although it has some
scalability problems when using a large number of connections - which can be
fixed for the larger part by plunging in more resources (RAM etc).
--
Martijn Tonies
InterBase Workbench - the developer tool for InterBase and Firebird
http://www.interbaseworkbench.com
Upscene Productions
http://www.upscene.com
"This is an object-oriented system.
If we change anything, the users object."
"Ed Salgado" <esal...@tvscan.com> wrote in message news:3b65c169_2@dnews...
So....
Since we are running on Win2k, it would be better to run as an application
(setting the affinity properly) as opposed to a service?
Should we switch to Linux for our database server? If so, is there any
empirical data I can analyze?
Thanks for your time,
> Since we are running on Win2k, it would be better to run as an
application
> (setting the affinity properly) as opposed to a service?
Setting the affinity indeed doesn't seem to work on Win2K.
> Should we switch to Linux for our database server?
If you have Linux knowledge in the house, why not? We use Linux and IB
without problems - running smooth so far.
For lots of IB info, check www.ibphoenix.com and www.interbase2000.org -
there are plenty of links there to lots of pages, with lots of info.
Hi,
> Classic, however, works fine on SMP systems - although it has some
> scalability problems when using a large number of connections - which can be
> fixed for the larger part by plunging in more resources (RAM etc).
It is fairly easy to work out the user limit on the classic version, as
you know the memory usage of each connection.
Apart from SMP, Classic does have a few more advantages over
Superserver, the two that come to mind is the ability to 'kill' a client
connection and if a 'client connection' goes down (e.g. bad UDF), it
does not affect the other users (in most cases). Effectifly what you
are getting with classic is a 'server' per connection.
Cheers
Phil
Hi,
> Since we are running on Win2k, it would be better to run as an application
> (setting the affinity properly) as opposed to a service?
Still run it as a service, just set the affinity. Service applications
perform much better than 'plan' applications.
> Should we switch to Linux for our database server? If so, is there any
> empirical data I can analyze?
Just personal experience, but I get between 0 and 10 times better
performance on Linux, plus all the security and stability benefits.
If you have Linux knowledge, it would be a good option IMHO.
Cheers
Phil
Dan
"Ed Salgado" <esal...@tvscan.com> wrote in message
news:3b65c9ec$1_2@dnews...
I'll check again, but last time it looked as if IB_Affinity had set the
CPU affinity correctly (for Fb/0.9.5 on a server running Win2k Server,
no SP).
Regards,
Aage J.