ODBC 2.0 and the Nagel Algorithm

Ingela Anderton <>
Wed Jul 28 09:34:32 CEST 2004


Rudolph van Graan wrote:
> Been playing with odbc some the last two days. Found that I couldn't 
> convince the odbc subsystem to do more than about 40 simple select 
> queries per second independent of the hardware on our Linux boxes with 
> unixodbc and postgres. After some messing around with odbcserver.c we 
> found that if you disable the nagel algorithm on the socket that odbc 
> uses, we can push the transaction rate up to close to 600/s. I am not 
> sure if this problem disappears on windows or solaris, but on linux it 
> degrades performance massively.
Humm ... this would account for the performance drop reported by Laura
M. Castro. In fact in the case of Erlang odbc the Nagel algorithm will
never help but always cause an unnecessary delay, I will change the
socket option for the next odbc version. Also different operating
systems may have different delays for the Nagle algorithm hence
explaining why some people have noticed a big performance drop but my
own tests only show a small performance drop on Solaris and no
performance drop on Windows. (In the Windows case there
are also other factors that made the old odbc slower on windows than
on unix-platforms. When these factors where eliminated in the new odbc
they may have help compensate for Nagel delays.) 

-- 
/m.v.h Ingela

Ericsson AB - OTP team









More information about the erlang-questions mailing list