I'm writing my thesis on performance testing. First I had postgresql 8.0.1 installed. However when stress
testing with multiple threads I got an unacceptable amount of context switches. Thats why I installed
8.1.3 . With 8.1.3 I dont have the context switch problem, however now there is a problem with the standard
deviation of response times. With my stress test software I use 5 concurrent threads issueing the same request,
when a response has been received by one of these threads immediatly a new request is issued.
Now the strange thing is that with postgresql 8.1.3 the standard deviation of the response time is large,
in fact it is even much larger than for 8.0.1 . I think this is strange since all requests are similar. Hence, they should
all be served in approximatly the same amount of time (as is the case in 8.0.1). The only reason I can think of
is that postgresql allows some of its workerthreads to run more frequenly than others. However, since all requests are
similar I don't see why some threads are allowed to execute more frequently than others. Below is the standard deviation
of two requests that I've tested.
standard deviation
8.0.1 8.1.3
request 1 14 ms. 111 ms.
request 2 44 ms. 706 ms.
Does anyone know why CPU time is not spread evenly over the worker threads.
Thanx in advance,
Ingmar