Subject | Re: Re[2]: [IB-Architect] RE: Classic vs. superserver (long, very very long) |
---|---|
Author | Jim Starkey |
Post date | 2002-10-15T20:33:37Z |
At 11:50 PM 10/15/02 +0400, Nickolay Samofatov wrote:
Do you use any of the existing plumbing or did you roll your own?
Do you support the full API?
Does this mean that every client request requires a listener process
wake up, a context switch to the worker thread, and a context switch
back to listener process?
This is rather ironic because the fundamental idea behind classic
is that a call instruction to a process based database is so much
faster than a pair of context switches to and back from a server
process. Now you're paying the overhead of the server architecture
without the benefits.
I'm perfectly willing to believe that this archicture works well
for a massive number of predominately read requests, but I continue
to question whether this system performs under load. Just about
every performance study I'm aware of has shown that classic becomes
IPC bound under a heavy, contentious update load.
cost in complexity, as any code change checked in would have to
tested against all configurations, and any major configuration-
specific overhaul would face major resistance.
Jim Starkey
>How does the listener process communicate with the worker processes?
>We spawn one listener process per each interface/port/protocol we listen to.
>It submits jobs to a pool of worker threads/processes and returns
>results to a client when they are ready.
>
Do you use any of the existing plumbing or did you roll your own?
Do you support the full API?
Does this mean that every client request requires a listener process
wake up, a context switch to the worker thread, and a context switch
back to listener process?
This is rather ironic because the fundamental idea behind classic
is that a call instruction to a process based database is so much
faster than a pair of context switches to and back from a server
process. Now you're paying the overhead of the server architecture
without the benefits.
I'm perfectly willing to believe that this archicture works well
for a massive number of predominately read requests, but I continue
to question whether this system performs under load. Just about
every performance study I'm aware of has shown that classic becomes
IPC bound under a heavy, contentious update load.
>Certainly a noble goal. But it can be achieved only by a substantial
>My general idea is that server should be modular and flexible to allow
>to work in different environments w/o recompilation or modification.
>
cost in complexity, as any code change checked in would have to
tested against all configurations, and any major configuration-
specific overhaul would face major resistance.
Jim Starkey